一、Pandas存储数据类型
1.文本类数据
csv、 JSON
2.二进制磁盘数据
Excel 、pkl 、HDF5
3.数据库
SQL
4.Web API数据
5.HTML
二、CSV
1、写入CSV
student.to_csv(
'student.csv', # 存入数据,文件名为student
index=True, # 存储行索引
header=True, # 存储列索引
columns=['name','sex','age','heigh','weight','address','grade'], # 保存指定列
encoding='utf-8' # 修改编码
)
2、读取数据
pd.read_csv(
'student.csv', # 文件名
sep=',', # 指定分隔符,csv默认逗号,如果是table表格数据一般为 \t
header=0, # 列索引,默认0将第一行设为表头(其他行号也可),None不将第一行设为表头(列索引),[0,1]列表可将多行同时设为表头(层次化索引)
#index_col=['name','age'], # 行索引,默认None无行索引,列索引0,1或自定义'name'等将某列设为行索引,[0,1],['name','age']层次化索引使用列表
#names=['a','b','c','d'], # 不使用csv表头,自定义表头,结合header=None
#usecols=[0,1,2,3], # 读取指定列,或使用自定义索引
#nrows=3, # 读取前几行
#skiprows=2, # 从表格开始算起,忽略的行,[2,3,4]跳过文件第2/3/4行
#skipfooter=2, # 从表格末尾算起忽略的行,必须配合engine='python'否则会报警告
#engine='c', # 引擎。c更快,python更完善
na_values=['female'], # 将csv中某些字符替换为空值
keep_default_na=True, # 默认True同时使用系统自带空值替换和自定义空值,如 NA,N/A等,False只使用自定义空值
encoding='utf-8', # 编码,需要根据文本编码修改,默认utf-8,可以指定为GBK/ascii
)
三、Excel(xlsx)
1.写入Excel需要安装openpyxl和xlrd包
pip3 install openpyxl
pip3 install xlrd
将多个DataFrame写入同一Excel中的多个工作表中
summary = pd.ExcelWriter('Summary.xlsx')
#工作表1
student.to_excel(
summary, # 写入数据
'Sheet1', # 工作表标签
header=True, # 不存入列索引
index=True # 不存入行索引
)
#工作表2
student.to_excel(summary,'Sheet2')
writer.save()
#查询所有工作表,输出某个工作表
pd.read_excel('Summary.xlsx', None)['Sheet1']
2.读取Excel
student = pd.read_excel('Summary.xlsx',sheetname='Sheet1')
四、JSON
json= """
{"name": "Wes",
"country": ["United States", "Spain", "Germany"],
"pet": null,
"siblings": [{"name": "Scott", "age": 30, "pets": ["Zeus", "Zuko"]},
{"name": "Katie", "age": 38,
"pets": ["Sixes", "Stache", "Cisco"]}]
}
"""
#存入JSON
student.to_json('inform.json')
#读取JSON
pd.read_json('inform.json')
五、Pandas存取pkl
pickle是Python的标准模块,实现数据的序列化和反序列化
#存入pickle
student.to_pickle('student.pkl')
#读取pickle
pd.read_pickle('student.pkl')
六、使用HDF5格式
frame = pd.DataFrame({'randoms': np.random.randn(1000)})
frame.to_hdf('mydata.h5', 'random', format='table')
pd.read_hdf('mydata.h5', 'random', where=['index < 3'])
#存储多个数据时,读取需要指定key,table格式存储的可以加判断条件
七、剪切板存取数据
pd.read_clipboard()