将資料寫入檔案的末尾,而不是寫入每行的末尾.
而是建立一個新檔案并将新值附加到每一行.
csvfile = 'filename'
with open(csvfile, 'r') as fin, open('new_'+csvfile, 'w') as fout:
reader = csv.reader(fin, newline='', lineterminator='\n')
writer = csv.writer(fout, newline='', lineterminator='\n')
if you_have_headers:
writer.writerow(next(reader) + [new_heading])
for row, val in zip(reader, data)
writer.writerow(row + [data])
在Python 2.x上,删除newline =”參數并将檔案模式分别從’r’和’w’更改為’rb’和’wb’.
一旦您确定這是正常工作,您可以用新的檔案替換原始檔案:
import os
os.remove(csvfile) # not needed on unix
os.rename('new_'+csvfile, csvfile)