我的结果只写在第一行

时间:2016-01-15 05:05:13

标签: python csv

我是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。感谢。

2 个答案:

答案 0 :(得分:0)

您每次都要打开文件进行书写,这意味着您要用每个新行覆盖内容。

您可以使用模式a而不是w打开文件以附加到该文件,或者最好在循环外打开文件 ,然后写入并关闭它循环之后。

后者是首选,因为如果文件存在,以附加模式打开文件可能会导致不需要的内容。

答案 1 :(得分:0)

尝试模式' a' (追加)代替' w' (写入)。