学习笔记
写入csv文件
- 使用流程
①导入csv模块
②打开csv文件
③初始化写入对象
④写入数据(参数为列表)
- 语法
import csv
with open('test0402A.csv', 'w') as f:
#创建csv文件的写入对象
writer = csv.writer(f)
#写一行,格式:['第1个单元格数据', '第2个单元格数据']
writer.writerow(['Ada', 23])
#写入多行
#格式:[(第1行数据), (第2行数据), (第3行数据)]
#备注:可以用元祖包裹一行,也可以用列表包裹一行
writer.writerows([('Jack', 19), ('Bai', 23), ('Tim',25)])
- 举个例子
list01 = ['A', 'B', 'C', 'D', 'E']
list02 = list(range(1, 6))
list03 = ['ID{}'.format(x) for x in range(1,6)]
datas = zip(list01, list02, list03)
import csv
with open('test0402A2.csv', 'w') as f:
#创建csv文件的写入对象
writer = csv.writer(f)
#写一行,格式:['第1个单元格数据', '第2个单元格数据']
writer.writerow(['name', 'age', 'id'])
#写入多行
writer.writerows(datas)
我们查看一下test0402A2.csv文件里的内容:
我们看到,每一行数据之间都隔了一行空行,这是因为在windows系统下,会默认添加一个空行,在Linux系统下执行相同的代码,就不会出现这种状况,那么怎么去把这个空行去除呢?我们可以在open()方法里设置newline=’’。
好!现在我更改一下代码:
list01 = ['A', 'B', 'C', 'D', 'E']
list02 = list(range(1, 6))
list03 = ['ID{}'.format(x) for x in range(1,6)]
datas = zip(list01, list02, list03)
import csv
with open('test0402A2.csv', 'w', newline = '') as f:
#创建csv文件的写入对象
writer = csv.writer(f)
#写一行,格式:['第1个单元格数据', '第2个单元格数据']
writer.writerow(['name', 'age', 'id'])
#写入多行
writer.writerows(datas)
看一下csv文件:
嗯!成功写入啦~