import numpy as np
import pandas as pd
from pandas import Series,DataFrame
from numpy import nan as NA
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

读取csv

# pd.read_csv() 默认 逗号为分隔符 ,默认首行作为 columnsName
pd.read_csv('data/ex1.csv')
a    b   c   d   message
0   1   2   3   4   hello
1   5   6   7   8   world
2   9   10  11  12  foo
# pd..read_table()也可以读取,但是要指定分隔符参数sep=''
pd.read_table('data/ex1.csv',sep=',')
a    b   c   d   message
0   1   2   3   4   hello
1   5   6   7   8   world
2   9   10  11  12  foo
# 读取没有明显列名称的文件,不需要让首行作为列,用参数header=None
df2=pd.read_csv('data/ex2.csv',header=None)
df2
0    1   2   3   4
0   1   2   3   4   hello
1   5   6   7   8   world
2   9   10  11  12  foo
# 自d义列名称读取 参数names=[]
# names给几列,就会从最后向前读几列数据,剩下的都是index
# 超出就是nan
df3=pd.read_csv('data/ex2.csv',names=['aa','bb','cc','dd','message','nn'])
df3
aa   bb  cc  dd  message nn
0   1   2   3   4   hello   NaN
1   5   6   7   8   world   NaN
2   9   10  11  12  foo NaN
# 设置行索引 index_col='某个列name'
df4=pd.read_csv('data/ex2.csv',names=['aa','bb','cc','dd','message'],index_col='message')
df4
aa   bb  cc  dd
message
hello   1   2   3   4
world   5   6   7   8
foo 9   10  11  12
# 多列的值作为行索引
df5=pd.read_csv('data/csv_mindex.csv',index_col=['key1','key2'])
df5
value1   value2
key1    key2
one a   1   2
b   3   4
c   5   6
d   7   8
two a   9   10
b   11  12
c   13  14
d   15  16
# 读取不规则的分隔符数据,使用分隔符sep=''
# 使用正则表达式做分隔符,不需要导入re,直接写正则字符串
# \s+
df6=pd.read_csv('data/ex3.txt',sep='\s+')
df6
A    B   C
aaa -0.264438   -1.026059   -0.619500
bbb 0.927272    0.302904    -0.032399
ccc -0.264273   -0.386314   -0.217601
ddd -0.871858   -0.348382   1.100491
# 使用参数skiprows=[] 跳过一些行
df7=pd.read_csv('data/ex4.csv',skiprows=[0,2,3])
df7
a    b   c   d   message
0   1   2   3   4   hello
1   5   6   7   8   world
2   9   10  11  12  foo
# comment='#',指定#开头的注释,不用读取
pd.read_csv('data/ex4.csv',comment='#')
a    b   c   d   message
0   1   2   3   4   hello
1   5   6   7   8   world
2   9   10  11  12  foo
# 需要读取xxx值为nan,参数na_values=[],空值与NA字符默认是nan了
df8=pd.read_csv('data/ex5.csv',na_values=[1,2,'world'])
df8
something    a   b   c   d   message
0   one NaN NaN 3.0 4   NaN
1   two 5.0 6.0 NaN 8   NaN
2   three   9.0 10.0    11.0    12  foo
3   foo NaN NaN 11.0    12  two
# 指定不同列的不同数据为nan
# 用字典匹配,某个列的一个值或多个值
nans={'something':'two','message':['foo','world']}
df9=pd.read_csv('data/ex5.csv',na_values=nans)
df9
something    a   b   c   d   message
0   one 1   2   3.0 4   NaN
1   NaN 5   6   NaN 8   NaN
2   three   9   10  11.0    12  NaN
3   foo 1   2   11.0    12  two

写入csv

# 模拟创建一个成绩表,语文,数学,英语。各科成绩有重复。
names = '尺,寸,人,下,匕,卜,之,田,丫,乃,贝,井,工,几,女,巨,爪,火,了,方,木,中,寸,石,户,友,夫,不,可,主,又,丑,巾,口,电,门,术,儿,羊,丁,心,天,化,气,正,页,兄,伏,大,计'.split(',')
df10 = DataFrame({'语文':np.random.randint(90,100,50),'数学':np.random.randint(80,100,50),'英语':np.random.randint(60,100,50),'化学':np.random.randint(60,100,50),'物理':np.random.randint(60,100,50),'生物':np.random.randint(60,100,50),'政治':np.random.randint(60,100,50),'历史':np.random.randint(60,100,50),'地理':np.random.randint(60,100,50)},index = [np.random.choice(list('赵钱孙李周吴郑王'))+names.pop(np.random.randint(0,len(names))) for i in range(50)]
)
df10
语文   数学  英语  化学  物理  生物  政治  历史  地理
赵大  97  90  68  86  73  94  70  70  72
孙兄  91  99  86  89  68  96  70  82  60
钱术  95  87  87  67  99  88  85  65  95
吴羊  92  98  94  64  96  82  65  85  69
王女  91  84  84  88  92  75  82  97  91
王卜  94  89  90  99  95  99  67  82  82
王可  94  90  76  68  93  82  93  99  83
钱巾  97  85  92  81  71  85  90  60  65
李丁  90  94  86  71  90  98  60  87  75
吴丫  91  82  70  70  86  68  61  94  99
吴丑  91  97  78  79  82  95  83  80  92
钱火  97  97  72  99  66  67  80  80  73
王石  96  83  69  66  90  60  86  93  92
李人  91  95  60  96  99  94  69  64  89
郑正  90  84  82  62  67  82  88  71  65
王乃  93  96  60  79  86  95  89  61  65
李寸  94  91  62  71  77  88  61  94  87
郑之  96  97  96  74  70  70  72  78  73
钱口  96  80  98  69  70  66  73  70  69
孙寸  96  81  70  97  74  92  64  94  87
吴儿  98  85  71  96  72  83  61  97  98
李木  94  82  69  71  88  92  93  92  76
赵主  95  80  83  80  63  94  76  67  75
钱巨  93  96  98  72  80  84  86  98  96
郑电  99  95  63  97  98  92  60  90  79
赵工  99  86  60  83  86  97  80  98  80
李方  91  83  85  75  76  85  74  87  76
李门  90  89  64  76  75  89  75  76  72
李几  96  82  70  88  79  96  60  85  61
赵夫  94  94  68  98  95  85  65  98  63
吴井  92  89  86  79  78  68  98  78  73
郑天  91  85  97  84  64  93  90  97  93
孙计  96  84  74  91  85  64  69  64  66
郑尺  99  84  93  88  99  87  76  80  85
孙友  98  95  75  85  94  89  69  74  82
郑中  96  81  88  66  68  71  88  83  63
赵页  98  97  63  66  71  98  97  63  60
郑户  91  88  68  73  76  81  87  87  89
王了  95  83  64  94  89  71  96  85  76
赵爪  92  92  88  83  81  98  81  97  63
吴又  99  99  71  61  90  60  65  74  77
钱化  93  92  63  82  86  82  88  96  88
吴不  94  83  75  90  71  91  84  99  83
吴伏  91  84  66  93  62  88  78  81  68
王贝  92  93  75  86  70  84  84  84  64
李气  97  99  72  60  69  68  67  74  75
李田  91  90  84  71  79  80  91  65  66
李下  98  81  65  92  72  65  72  64  77
李匕  90  82  96  99  87  88  88  64  95
李心  99  97  87  72  71  63  98  75  78
# 保存,行列索引都存进去了
df10.to_csv('成绩.csv',encoding='utf-8')
# index=False 不要行索引
df10.to_csv('成绩1.csv',index=False)
# header=False 不要行索引
df10.to_csv('成绩2.csv',header=False)
# na_rep='' 将nan换成xx进行存储,默认是空
df10.iloc[0,3]=NA
df10.to_csv('成绩3.csv',na_rep='空')
# 预览存储效果
import sys
# 以竖线为分隔符的预览效果
df10.to_csv(sys.stdout,sep='|',na_rep='空空')
|语文|数学|英语|化学|物理|生物|政治|历史|地理
赵大|97|90|68|空空|73|94|70|70|72
孙兄|91|99|86|89.0|68|96|70|82|60
钱术|95|87|87|67.0|99|88|85|65|95
吴羊|92|98|94|64.0|96|82|65|85|69
王女|91|84|84|88.0|92|75|82|97|91
王卜|94|89|90|99.0|95|99|67|82|82
王可|94|90|76|68.0|93|82|93|99|83
钱巾|97|85|92|81.0|71|85|90|60|65
李丁|90|94|86|71.0|90|98|60|87|75
吴丫|91|82|70|70.0|86|68|61|94|99
吴丑|91|97|78|79.0|82|95|83|80|92
钱火|97|97|72|99.0|66|67|80|80|73
王石|96|83|69|66.0|90|60|86|93|92
李人|91|95|60|96.0|99|94|69|64|89
郑正|90|84|82|62.0|67|82|88|71|65
王乃|93|96|60|79.0|86|95|89|61|65
李寸|94|91|62|71.0|77|88|61|94|87
郑之|96|97|96|74.0|70|70|72|78|73
钱口|96|80|98|69.0|70|66|73|70|69
孙寸|96|81|70|97.0|74|92|64|94|87
吴儿|98|85|71|96.0|72|83|61|97|98
李木|94|82|69|71.0|88|92|93|92|76
赵主|95|80|83|80.0|63|94|76|67|75
钱巨|93|96|98|72.0|80|84|86|98|96
郑电|99|95|63|97.0|98|92|60|90|79
赵工|99|86|60|83.0|86|97|80|98|80
李方|91|83|85|75.0|76|85|74|87|76
李门|90|89|64|76.0|75|89|75|76|72
李几|96|82|70|88.0|79|96|60|85|61
赵夫|94|94|68|98.0|95|85|65|98|63
吴井|92|89|86|79.0|78|68|98|78|73
郑天|91|85|97|84.0|64|93|90|97|93
孙计|96|84|74|91.0|85|64|69|64|66
郑尺|99|84|93|88.0|99|87|76|80|85
孙友|98|95|75|85.0|94|89|69|74|82
郑中|96|81|88|66.0|68|71|88|83|63
赵页|98|97|63|66.0|71|98|97|63|60
郑户|91|88|68|73.0|76|81|87|87|89
王了|95|83|64|94.0|89|71|96|85|76
赵爪|92|92|88|83.0|81|98|81|97|63
吴又|99|99|71|61.0|90|60|65|74|77
钱化|93|92|63|82.0|86|82|88|96|88
吴不|94|83|75|90.0|71|91|84|99|83
吴伏|91|84|66|93.0|62|88|78|81|68
王贝|92|93|75|86.0|70|84|84|84|64
李气|97|99|72|60.0|69|68|67|74|75
李田|91|90|84|71.0|79|80|91|65|66
李下|98|81|65|92.0|72|65|72|64|77
李匕|90|82|96|99.0|87|88|88|64|95
李心|99|97|87|72.0|71|63|98|75|78
print(123,file=open('123.txt','w'))
# 读取我们自己存储的成绩csv,人名以及行索引
s1=pd.read_csv('成绩.csv',index_col='Unnamed: 0')
s1
Unnamed: 0   语文  数学  英语  化学  物理  生物  政治  历史  地理
0   赵大  97  90  68  86  73  94  70  70  72
1   孙兄  91  99  86  89  68  96  70  82  60
2   钱术  95  87  87  67  99  88  85  65  95
3   吴羊  92  98  94  64  96  82  65  85  69
4   王女  91  84  84  88  92  75  82  97  91
5   王卜  94  89  90  99  95  99  67  82  82
6   王可  94  90  76  68  93  82  93  99  83
7   钱巾  97  85  92  81  71  85  90  60  65
8   李丁  90  94  86  71  90  98  60  87  75
9   吴丫  91  82  70  70  86  68  61  94  99
10  吴丑  91  97  78  79  82  95  83  80  92
11  钱火  97  97  72  99  66  67  80  80  73
12  王石  96  83  69  66  90  60  86  93  92
13  李人  91  95  60  96  99  94  69  64  89
14  郑正  90  84  82  62  67  82  88  71  65
15  王乃  93  96  60  79  86  95  89  61  65
16  李寸  94  91  62  71  77  88  61  94  87
17  郑之  96  97  96  74  70  70  72  78  73
18  钱口  96  80  98  69  70  66  73  70  69
19  孙寸  96  81  70  97  74  92  64  94  87
20  吴儿  98  85  71  96  72  83  61  97  98
21  李木  94  82  69  71  88  92  93  92  76
22  赵主  95  80  83  80  63  94  76  67  75
23  钱巨  93  96  98  72  80  84  86  98  96
24  郑电  99  95  63  97  98  92  60  90  79
25  赵工  99  86  60  83  86  97  80  98  80
26  李方  91  83  85  75  76  85  74  87  76
27  李门  90  89  64  76  75  89  75  76  72
28  李几  96  82  70  88  79  96  60  85  61
29  赵夫  94  94  68  98  95  85  65  98  63
30  吴井  92  89  86  79  78  68  98  78  73
31  郑天  91  85  97  84  64  93  90  97  93
32  孙计  96  84  74  91  85  64  69  64  66
33  郑尺  99  84  93  88  99  87  76  80  85
34  孙友  98  95  75  85  94  89  69  74  82
35  郑中  96  81  88  66  68  71  88  83  63
36  赵页  98  97  63  66  71  98  97  63  60
37  郑户  91  88  68  73  76  81  87  87  89
38  王了  95  83  64  94  89  71  96  85  76
39  赵爪  92  92  88  83  81  98  81  97  63
40  吴又  99  99  71  61  90  60  65  74  77
41  钱化  93  92  63  82  86  82  88  96  88
42  吴不  94  83  75  90  71  91  84  99  83
43  吴伏  91  84  66  93  62  88  78  81  68
44  王贝  92  93  75  86  70  84  84  84  64
45  李气  97  99  72  60  69  68  67  74  75
46  李田  91  90  84  71  79  80  91  65  66
47  李下  98  81  65  92  72  65  72  64  77
48  李匕  90  82  96  99  87  88  88  64  95
49  李心  99  97  87  72  71  63  98  75  78

excel

# 存储 前提需要安装 openpyxl
s1.to_excel('成绩.xlsx')
s1.to_excel('成绩1.xlsx',startrow=1,encoding='utf-8')
# 读取excel,参数读取csv ,多列个sheet_name
pd.read_excel('成绩.xlsx')
Unnamed: 0   Unnamed: 0.1    语文  数学  英语  化学  物理  生物  政治  历史  地理
0   0   赵大  97  90  68  86  73  94  70  70  72
1   1   孙兄  91  99  86  89  68  96  70  82  60
2   2   钱术  95  87  87  67  99  88  85  65  95
3   3   吴羊  92  98  94  64  96  82  65  85  69
4   4   王女  91  84  84  88  92  75  82  97  91
5   5   王卜  94  89  90  99  95  99  67  82  82
6   6   王可  94  90  76  68  93  82  93  99  83
7   7   钱巾  97  85  92  81  71  85  90  60  65
8   8   李丁  90  94  86  71  90  98  60  87  75
9   9   吴丫  91  82  70  70  86  68  61  94  99
10  10  吴丑  91  97  78  79  82  95  83  80  92
11  11  钱火  97  97  72  99  66  67  80  80  73
12  12  王石  96  83  69  66  90  60  86  93  92
13  13  李人  91  95  60  96  99  94  69  64  89
14  14  郑正  90  84  82  62  67  82  88  71  65
15  15  王乃  93  96  60  79  86  95  89  61  65
16  16  李寸  94  91  62  71  77  88  61  94  87
17  17  郑之  96  97  96  74  70  70  72  78  73
18  18  钱口  96  80  98  69  70  66  73  70  69
19  19  孙寸  96  81  70  97  74  92  64  94  87
20  20  吴儿  98  85  71  96  72  83  61  97  98
21  21  李木  94  82  69  71  88  92  93  92  76
22  22  赵主  95  80  83  80  63  94  76  67  75
23  23  钱巨  93  96  98  72  80  84  86  98  96
24  24  郑电  99  95  63  97  98  92  60  90  79
25  25  赵工  99  86  60  83  86  97  80  98  80
26  26  李方  91  83  85  75  76  85  74  87  76
27  27  李门  90  89  64  76  75  89  75  76  72
28  28  李几  96  82  70  88  79  96  60  85  61
29  29  赵夫  94  94  68  98  95  85  65  98  63
30  30  吴井  92  89  86  79  78  68  98  78  73
31  31  郑天  91  85  97  84  64  93  90  97  93
32  32  孙计  96  84  74  91  85  64  69  64  66
33  33  郑尺  99  84  93  88  99  87  76  80  85
34  34  孙友  98  95  75  85  94  89  69  74  82
35  35  郑中  96  81  88  66  68  71  88  83  63
36  36  赵页  98  97  63  66  71  98  97  63  60
37  37  郑户  91  88  68  73  76  81  87  87  89
38  38  王了  95  83  64  94  89  71  96  85  76
39  39  赵爪  92  92  88  83  81  98  81  97  63
40  40  吴又  99  99  71  61  90  60  65  74  77
41  41  钱化  93  92  63  82  86  82  88  96  88
42  42  吴不  94  83  75  90  71  91  84  99  83
43  43  吴伏  91  84  66  93  62  88  78  81  68
44  44  王贝  92  93  75  86  70  84  84  84  64
45  45  李气  97  99  72  60  69  68  67  74  75
46  46  李田  91  90  84  71  79  80  91  65  66
47  47  李下  98  81  65  92  72  65  72  64  77
48  48  李匕  90  82  96  99  87  88  88  64  95
49  49  李心  99  97  87  72  71  63  98  75  78

python-pandas-读取与写入文件相关推荐

  1. python自动化读取和写入文件_基于Python的接口自动化实战-基础篇之读写配置文件...

    引言 在编写接口自动化测试脚本时,有时我们需要在代码中定义变量并给变量固定的赋值.为了统一管理和操作这些固定的变量,咱们一般会将这些固定的变量以一定规则配置到指定的配置文件中,后续需要用到这些变量和变 ...

  2. 12.pandas 读取与写入文件

    import numpy as np import pandas as pd from pandas import Series,DataFrame from numpy import nan as ...

  3. python输出csv文件-Python之读取与写入CSV文件

    原标题:Python之读取与写入CSV文件 本文作者:闫续文 文字编辑:张梦婷 技术总编:张学人 有问题,不要怕!访问 CSV(Comma-Separated Values)格式是电子表格和数据库最常 ...

  4. Python+Pandas读取Excel文件分析关系最好的两个演员

    董老师又双叒叕送书啦,6本<Python程序设计基础与应用(第2版)> 推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国 ...

  5. Python+pandas读取Excel文件统计最受欢迎的前3位演员

    推荐教材:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社,2018.8出版,2021.3第11次印刷 图书详情: 配套资源: 用书教师可 ...

  6. python pandas读取csv文件指定行_python pandas获取csv指定行 列的操作方法

    python pandas获取csv指定行 列的操作方法 pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: ho ...

  7. Python Pandas读取文件

    Python Pandas读取文件 当使用 Pandas 做数据分析的时,需要读取事先准备好的数据集,这是做数据分析的第一步.Panda 提供了多种读取数据的方法: read_csv() 用于读取文本 ...

  8. python pandas读取excel文件

    python pandas读取excel文件 data=pd.read_excel('C:\Users\86188\python\dummy.xlsx') 会报错:SyntaxError: (unic ...

  9. python读取写入文件_Python读取和写入文件

    1 从文件中读取数据 1.1 读取整个文件 创建名为test的txt文本文件,添加内容如下所示: 1234567890 2345678901 3456789012 实现代码: with open('t ...

  10. python pandas读取txt文件_python Pandas 读取txt表格的实例

    运行环境 Python 2.7 操作实例 1.原始文本格式:空格分隔的txt,例如 2016-03-22 00:06:24.4463094 中文测试字符 2016-03-22 00:06:32.456 ...

最新文章

  1. 详解AI加速器(最终篇):给想进入赛道的玩家一些建议
  2. linux cpu平均利用率st,理解 CPU 利用率
  3. 启动nginx服务提示 nginx: [emerg] still could not
  4. linux内核实验平台搭建,搭建自己的Linux实验系统(一)
  5. 【Linux】内核态和用户态
  6. struts -Tiles介绍
  7. python数据分析师书籍_如何自学成为数据分析师
  8. (软件工程复习核心重点)第六章实现和测试-第五节:确认测试
  9. php提前终止,由于最大执行时间致命错误,PHP cron作业提前终止
  10. DBCC CHECKDB
  11. 最小二乘法拟合圆心和半径 python实现
  12. 搜狗输入法,输英语单词自动提示
  13. 多通道国产源表之VCSEL老化测试
  14. Mac电脑使用:Mac电脑查看本机的IP和公网IP的方法
  15. 用幂律分布研究工资收入
  16. MATLAB中柱形图的绘制
  17. 字典生成----在线密码破解工具hydra和medusa的使用
  18. 某鱼app获取Cookie(token)
  19. linux笔记本安装双显卡驱动(intel+nvidia)
  20. 利用iPS细胞筛选新药研究进展

热门文章

  1. 关于控件注册和使用许可问题的解决办法
  2. 华为手机安装Goole play教程及安装包
  3. qrcode生成一个带有图片的二维码
  4. 分享深入学习MongoDB pdf版
  5. PLC 变频器、触摸屏综合实训平台
  6. 权限管理系统设计——入门(一)
  7. word中,去表格格式,把表格转换为文本的方法
  8. unigui点线动画连线
  9. dpo指标详解买入绝技_DPO指标,DPO指标详解,DPO是什么意思? - 股票入门
  10. 英文版系统远程桌面无法连接到远程计算机,windows server 2016远程桌面进去,英文系统修改语言...