3.3 Python利用Pandas进行数据文件读写

在这里插入图片描述

本文章是3.3的内容,如果想要源代码和数据可以看以下链接:
https://download.csdn.net/download/Ahaha_biancheng/83338868

3.3 数据文件读写

3.3.1 读写CSV和TXT文件

3.3.1.1 读写CSV文件

在这里插入图片描述

例3-5 从students1.csv文件读出数据,保存为DataFrame对象

# 未定义行索引,自动生成
sdt = pd.read_csv('data/student1.csv') 
# 显示最后三条数据
sdt[-3:] 
序号性别年龄身高体重省份成绩
23male2218062FuJian57
34male2017772LiaoNing79
45male2017274ShanDong91

在这里插入图片描述

# 文件中每个同学已有序号,读取时作为行索引,所以此时,序号一列为行索引
sdt = pd.read_csv('data/student1.csv', index_col=0)
sdt[3:] # 输出第三行往后
性别年龄身高体重省份成绩
序号
4male2017772LiaoNing79
5male2017274ShanDong91
sdt = pd.read_csv('data/student1.csv', index_col=0, header=None)
sdt[:] # 输出
123456
0
序号性别年龄身高体重省份成绩
1male2017070LiaoNing71
2male2218071GuangXi77
3male2218062FuJian57
4male2017772LiaoNing79
5male2017274ShanDong91
# 由于不是utf编码所以报错
# 先调整文件
utf = pd.read_csv('data/utf_student1.csv') 
utf
序号性别年龄身高体重省份成绩
01male2017070LiaoNing71
12male2218071GuangXi77
23male2218062FuJian57
34male2017772LiaoNing79
45male2017274ShanDong91
3.3.1.2 读写TXT文件

在这里插入图片描述

# stxt = pd.read_csv('data/student2.txt')
# stxt = pd.read_csv('data/student2.txt', sep='\t')
# stxt = pd.read_csv('data/student2.txt', sep='\t', header=None)
name = ['序号','性别','年龄','身高','体重','省份','成绩']
# stxt = pd.read_csv('data/student2.txt', sep='\t', names=name)
stxt = pd.read_csv('data/student2.txt', sep='\t', names=name, index_col=0)
stxt
性别年龄身高体重省份成绩
序号
1male2017070LiaoNing71
2male2218071GuangXi77
3male2218062FuJian57
4male2017772LiaoNing79
5male2017274ShanDong91

通配符

在这里插入图片描述

使用详情可参考:
https://www.coolcou.com/pandas/pandas-read-write/pandas-read-txt.html

stxt = pd.read_csv('data/student2.txt', sep='\d', index_col=0, header=None)
stxt
<ipython-input-45-5c441f24e789>:1: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support regex separators (separators > 1 char and different from '\s+' are interpreted as regex); you can avoid this warning by specifying engine='python'.
  stxt = pd.read_csv('data/student2.txt', sep='\d', index_col=0, header=None)
12345678910
0
锘�\tmale\tNaN\tNaNNaN\tNaN\tLiaoNing\tNaNNaN
NaN\tmale\tNaN\tNaNNaN\tNaN\tGuangXi\tNaNNaN
NaN\tmale\tNaN\tNaNNaN\tNaN\tFuJian\tNaNNaN
NaN\tmale\tNaN\tNaNNaN\tNaN\tLiaoNing\tNaNNaN
NaN\tmale\tNaN\tNaNNaN\tNaN\tShanDong\tNaNNaN
3.3.1.3 保存csv文件

例3-7:新建DataFrame对象student,数据保存到out.csv文件

data = [[19,68,170],[20,65,165],[18,65,175]]
st = DataFrame(data, columns=['age', 'weight','height'])
print(st)
st.to_csv('out.csv',mode='w' )
   age  weight  height
0   19      68     170
1   20      65     165
2   18      65     175

3.3.2 读取Excel文件

从Excel文件中读取数据的函数类似CSV文件,需给出数据所在的Sheet表单名

pd.read_excel(file, sheetname, ...)

在这里插入图片描述

例3-8:从student3. xlsx文件名为“Group1”的页中读取数据

在这里插入图片描述

# 出错ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for 
# Excel support Use pip or conda to install xlrd. 版本问题


# stexl = pd.read_excel('data/student3.xlsx')
# skiprows=3 跳过前三行
# stexl = pd.read_excel('data/student3.xlsx', 'Group1', skiprows=3, index_col=0)
stexl = pd.read_excel('data/student3.xlsx', 'Group1', skiprows=[0,1,2,3], index_col=0)
stexl
male2017070LiaoNing71
1
2male2218071GuangXi77
3male2218062FuJian57
4male2017772LiaoNing79
5male2017274ShanDong91
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值