我是python的初学者。当我的程序工作时,我得到一个while循环的数据,它保存在一个csv文件中。但是,结果将在第一行覆盖。因此,该文件只有最后一个输出。
csv_out = open('results.csv', 'w')
mywriter = csv.writer(csv_out, delimiter=';')
rows = zip(k, l, m, h, c, n, r)
mywriter.writerows(rows)
num+=1
csv_out.close()
版画示例:
['100 ', '1', 'a', '2', '0', '223', 'x']
['250', '5', 'b', '1', '0', '10', 'z']
results.csv只有行250; 5; b; 1; 0; 10; z。感谢。
答案 0 :(得分:0)
您每次都要打开文件进行书写,这意味着您要用每个新行覆盖内容。
您可以使用模式a
而不是w
打开文件以附加到该文件,或者最好在循环外打开文件 ,然后写入并关闭它循环之后。
后者是首选,因为如果文件存在,以附加模式打开文件可能会导致不需要的内容。
答案 1 :(得分:0)
尝试模式' a' (追加)代替' w' (写入)。