csv
最近用到了python的csv工具包,故简单的记录一下使用方式。reader是一个
reader
import csv
with open('xxx.csv','r') as fi:
myreader = csv.reader(fi)
for idx,line in enumerate(myreader):
if len(line)!=72:
print(len(line))
注意,myreader其实是一个可迭代对象,并不会一次将数据读入到内存中。
writer
with open('mtp.csv','w') as fo:
w = csv.writer(fo)
# w的方法有 'dialect', 'writerow', 'writerows'
w.writerows(data)
data应该是数组,如果是对象,则写入的是对象的key。
在win系统下,换行符号为crlf格式,用vscode打开时,则错显示为两行,实际上还是一行。另外
在open()内增加一个参数newline=’’ ,来控制。
with open('monitor_vm.csv','w',newline='') as fo:
针对乱码、换行等原因,则完整的代码如下:
指定编码,防止输出为’gbk’编码。
with open(filename,'w',newline='',encoding='utf-8') as fo:
w = csv.writer(fo)
w.writerow(header)
for row in obj_list:
data = []
for col in header:
data.append(row[col])
w.writerow(data)