python csv 模块的使用

时间:2023-03-08 16:56:49
python csv 模块的使用

python csv 模块的使用#

歌曲推荐:攀登(live)

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,显示如下

python csv 模块的使用

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

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

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

像这样

python csv 模块的使用

2.一次写入多行

import csv

with open("data.csv","w") as file:
writer = csv.writer(file,delimiter=",")
writer.writerows(["song","singer","rank"],["倒数", "邓紫棋", "1"],["攀登live", "艾热", "2"])

调用writerows,传入二维列表!

输出

python csv 模块的使用

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

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"}])

输出

python csv 模块的使用

用wps查看,结果如下

python csv 模块的使用

注意!观察

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

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

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

重点!来了

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

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

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

python csv 模块的使用

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)

结果

python csv 模块的使用

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