CSV模块提供一种非常便捷的方式操作CSV文件。本文只是展现最基本的csv文件的读写操作,因为使用的是Python2.7 所以open接受参数少,整个csv读写例子如下
import csv
fname = 'testcsv.csv'
with open(fname,'wb') as csvfile: # 解决写入空行问题 使用wb不会再每一行后面插入空行
csvwriter = csv.writer(csvfile,delimiter=',')
lst= [[1,2,3],[4,5,6]]
for item in lst:
csvwriter.writerow(item)
# 读取操作
with open(fname,'r') as csvfile:
rows = csv.reader(csvfile)
for row in rows:
print row
print type(row) # 类型为一个list
运行结果
['1', '2', '3']
<type 'list'>
['4', '5', '6']
<type 'list'>
有时在python3 下需要将矩阵数据写入CSV文件,也会出现空行. 但是按照上述方式会报错,需要数据为bytes 类型,为了解决这个问题,需要在open的时候指定一个newline=''
参数,让它为空,可以保证CSV写入数据不会出现空行.
import csv
fname = 'testcsv.csv'
with open(fname,'w', newline='') as csvfile: # 解决写入空行问题 使用wb不会再每一行后面插入空行
csvwriter = csv.writer(csvfile)
lst= [[1,2,3],[4,5,6]]
csvwriter.writerows(lst)