python如何把数据写入csv文件?如何理解newline参数?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
python
如何把数据写入到csv
文件中呢?python
自带csv
模块,可以用于最常见的csv
文件格式的数据交换。在本文中,主要讨论的问题就是:python
如何把list
或者dict
数据写入到csv
文件中。
大家好,这里是苏南大叔的“程序如此灵动”博客,这里讲述苏南大叔和计算机代码的事情,欢迎关注。本文测试环境:python@3.6.8
,win10
。
基本情况
下面是代码基本前提:
import csv
open('csv.csv', 'w', encoding='utf-8', newline='')
这个csv
模块是python
自带的,并不需要pip install
。对于csvwriter
来说,需要先open
一个文件流。其中的w
和encoding='utf-8'
都是比较好理解的。这里对新出现的参数newline=''
做点小说明。
相关文章:
如何理解newline=''
因为写入的文件是csv
文件,实际上是个用逗号分割的记事本文件。每行就是一条数据,而不同的操作系统对于这个换行符定义是不同的。
操作系统 | 符号 |
---|---|
linux | \n |
windows | \r\n |
mac | \r |
这个地方的newline
参数就是用于控制这个换行符是什么的。对于大家来说,把newline
参数置空是最好的选择。至于为什么这么说,以后再做讨论。在本文中,大家只要无脑记得newline=''
即可。
相关文章:
写入list数组
import csv
header = [":START_ID", ":TYPE", ":END_ID"]
rows = [
("苏南", "age", 28),
("老许", "moeny", 160000),
("虎子", "born", 2000)
]
with open('csv.csv', 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
writer.writerow(header)
writer.writerows(rows)
写入dict字典
import csv
header = [":START_ID", ":TYPE", ":END_ID"]
row_dict=[
{':START_ID':"苏南",':TYPE':'age',':END_ID':28},
{':START_ID':"老许",':TYPE':'moeny',':END_ID':160000},
{':START_ID':"虎子",':TYPE':'born',':END_ID':2000},
]
with open("csv2.csv",'w',encoding="utf-8",newline='') as f:
writer2=csv.DictWriter(f,header)
writer2.writeheader()
writer2.writerows(row_dict)
特别说明
对于header
的定义,这里有些特殊说明:
说明一:
中括号也可以写成小括号的形式...并不影响结果。
header = [":START_ID", ":TYPE", ":END_ID"]
header = (":START_ID", ":TYPE", ":END_ID") # 写小括号也可以,很奇怪啊
说明二:
对于知识图谱三元组来说,这些名字是固定的,如果名称换成别的,导入到neo4j
的时候,就会触发错误,这是后话。
当然,如果您只是写入的普通的csv
文件,那么完全可以按照您的喜好定义名字。
相关链接
总结
python
的csv
模块居然是内置的,不用使用pip install
,这点有点出乎意料。更多python
代码使用,请查看苏南大叔的博客:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。