python--Pandas数据存取

本文详细介绍了如何使用Pandas进行数据存储和读取,包括CSV、Excel、JSON、pkl、HDF5等格式的数据操作方法。涵盖写入与读取数据的具体参数设置,如编码、分隔符、行索引、列索引等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值