python csv使用_python csv 模块的使用

python csv 模块的使用#

csv 是用逗号分隔符来分隔列与列之间的。

1. csv的写入

1.简单的写入,一次写入一行

import csv

with open("data.csv","w") as file:

writer = csv.writer(file,delimiter=" ")

writer.writerow(["song","singer","rank"])

writer.writerow(["倒数", "邓紫棋", "1"])

writer.writerow(["攀登live", "艾热", "2"])

输入,用文本方式打开csv,显示如下

10997184f91dbcd619b2e14a0f8259b3.png

注意!这里没有用逗号隔开,是因为我用了

writer = csv.writer(file,delimiter=" ")

delimiter参数可以修改 分隔符号,我将它设置为了一个空格,若不传入此参数,那么默认分隔符号还是 逗号。

像这样

ea8e2f93cb4a301b9fd284365e968969.png

2.一次写入多行

import csv

with open("data.csv","w") as file:

writer = csv.writer(file,delimiter=",")

writer.writerows(["song","singer","rank"],["倒数", "邓紫棋", "1"],["攀登live", "艾热", "2"])

调用writerows,传入二维列表!

输出

db1f3ae5694cffde8676bcc9ea64d89b.png

想想分隔符为什么又变成了逗号???(魅惑一笑)

3.字典格式化数据写入

import csv

with open("data.csv","w") as file:

#定义头信息

fieldnames = ['song', "singer", "rank"]

writer = csv.DictWriter(file,fieldnames=fieldnames)

#将头信息写入

writer.writeheader()

writer.writerow({"song":"倒数","singer":"邓紫棋","rank":"1"})

writer.writerow({"song": "攀登", "singer": "艾热", "rank": "2"})

writer.writerows([{"song": "攀登", "singer": "艾热", "rank": "2"},{"song": "攀登", "singer": "艾热", "rank": "2"}])

输出

f0cb4e82a04ef8d9437c2e35e920e099.png

用wps查看,结果如下

73161c13e7d837e4b507136e5db5cf52.png

注意!观察

writer.writerows([{"song": "攀登", "singer": "艾热", "rank": "2"},{"song": "攀登", "singer": "艾热", "rank": "2"}])

这里用到了多次输入多行,字典列表也可以哦。

ps:我不知到为啥 wps 里面有那么多的空格,感觉是多了一行。

重点!来了

4.open()函数的用法!如何追加写入数据?

如何追加写入,open()函数的第二个函数改成"a",之前我没有改,用的是"w",结果写来写去只有最后一条的输入数据。这里很坑的!!!!注意!!!!

这里详细总结了一下,菜鸟教程

a25fd9423c0e8919132694bb591136f0.png

ps:注意写入文件的编码,如果有中文的时候,最好给open()函数指定参数,encoding="utf-8",等类似的格式。

2.csv 的读取

最简单的读取:

import csv

with open("data.csv","r",encoding="gbk") as file:

reader=csv.reader(file)

for row in reader:

print(row)

结果

cbae91f1c0ac37723c97a56ed142a21d.png

ps:注意open()打开方式,第二个参数,还有编码。另外,之前字典存储进入之后,确实是多了空行,问题原因不太清楚。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值