Python极简记(2)———.csv文件的修改、筛选、遍历

python作为一门高度封装的编程语言,其中有数不清的函数方法。对于大多数人来说,都是了解了基本的语法结构和方法后就开始运用这门语言,遇到不会的边用边查边学。有时只想要用很简单的函数功能,去搜索却总会有好多复杂冗余的讲解,作为小小白,我也经常遇到这样的困惑,急用时真的很喜欢那种极简的博客,把函数给出,示例给出,用法一目了然。因此在csdn上记录下自己的python极简记,供自己复习,也与大家共享。

书接上回,今天笔记是用python对.csv文件的更多操作。第(1)章基础操作见:

Python极简记(1)——.csv文件的读取与保存_titanium434的博客-CSDN博客.csv文件用python读取与保存操作的快速了解使用,简单明晰。https://blog.csdn.net/qq_56614302/article/details/131654974

为了方便理解,这次我们采用了新的数据来进行展示。如下:

 1.修改

data = pd.read_csv('test.csv',index_col=0).copy()
print(data)
data['age'][2] = 30         #到这一步结束后并不会保存到表格中
data.to_csv('test.csv')    #需要进行手动保存,才能覆盖原来的结果

2.查找

print(data[data['age'] == 10])
print(data[data['class'] == 2])

当需要进行指定条件的过滤时,无法继续使用上述格式,但通过观察我们发现索引处相当于由False和True组成,因此可以采用类似的方法进行筛选,如当要选name中含"dog"项时:

check_name = ['dog' in name for name in data['name']]
s_name = data[check_name]
print(check_name)
print(s_name)

 输出结果如下:

3.遍历

当然,根据极简记(1)中索引介绍,我们可以for i in range(len(data)):,用data.iloc[i]来遍历每一行,但更常规的用法如下(i为你读取时指定的数据索引,默认为行序号):

for i,item in data.iterrows():
    print(i, item)

其他:

另外分享在修改.csv文件时遇到的一个报错,之前好像都没啥问题,不知道为啥今天突然出现了,特别崩溃。幸亏有数据备份。实验发现每次手动点开.csv文件直接修改时,保存并退出,出现如下提示:当时直接忽略了,好像之前也是这样做的,不知道为啥今天突然不行了...看报错大概明白时编码问题,但不知道具体是什么,看到这个大侠的博客,可以用记事本打开看到编码方式,打开我的发现果然打不开的右下角文件编码格式都显示为ANSI。总结下来,有两种处理方式:

1.用txt打开后,另存为时将编码格式改为utf-8即可。(个人更习惯用这种)(5条消息) 如何修改csv文件的编码形式_csv编码格式修改_铁灵的博客-CSDN博客

2.采用库检测,自动修改读取方式,也可以不读取直接改为记事本打开看到的编码方式。

(5条消息) 解决UnicodeDecodeError: ‘utf-8‘ codec can‘t decode bytes in position 24-25: invalid continuation byte_tswr的博客-CSDN博客

(期待您的指导建议和点赞鼓励!欢迎评论区交流和留下你想快速上手的函数,可能会出现在后续的极简记中欧~)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值