1、追加写入到csv
file = open(“./xxx.csv”, ‘a’,newline=‘’)
writer = csv.writer(file )
writer.writerow([‘xxx’,’ xxx’,0,1,2,3])
file.close()
2、覆盖文件写入csv
file = open(“./xxx.csv”, ‘w’,newline=‘’)
writer = csv.writer(file )
writer.writerow([‘xxx’,’ xxx’,0,1,2,3])
file.close()
3、写csv文件出现多余空白行
data = [[‘第一行’, ‘1111’], [‘第二行’, ‘2222’], [‘第三行’, ‘3333’]]
with open(‘./test.csv’, mode=‘w’,encoding=‘utf-8-sig’) as csvfile:
writer = csv.writer(csvfile)
for i in range(0,10):
writer.writerow([‘xxx’,‘xxx’,i])
问题的原因是:open 方法会默认换行,csv的writer方法也会默认换行,两次换行导致此问题。
解决方案:在open方法中设置换行数为空(newline=‘’),代码修改如下:
with open(‘./test.csv’, mode=‘w’,encoding=‘utf-8-sig’, newline=‘’) as csvfile:
writer = csv.writer(csvfile)
for i in range(0,10):
writer.writerow([‘xxx’,‘xxx’,i])