在第一个空行写入CSV

时间:2013-12-26 21:14:49

标签: python csv export-to-csv

我正在开发一个将行写入CSV的应用程序。但是,当我第二次运行应用程序时,已经写入的行将被新行覆盖。如何使作者写入下一个空白行,而不是已经有数据的空白行?我还没有找到任何关于如何做到这一点。这是我的代码:

listsof = [1, 2, 3, 4]
with open('C:/Users/Family3/Downloads/weather.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, delimiter=',',
                            quotechar='|', quoting=csv.QUOTE_MINIMAL)
    writer.writerow(listsof)

2 个答案:

答案 0 :(得分:8)

请尝试这样做(注意附加'a'):

with open('C:/Users/Family3/Downloads/weather.csv', 'a', newline='') as csvfile:
    writer = csv.writer(csvfile, delimiter=',',
                            quotechar='|', quoting=csv.QUOTE_MINIMAL)
    writer.writerow(listsof)

'a'opens the file for appending并且不会删除具有相同名称的现有文件。

答案 1 :(得分:2)

这是因为,无论何时打开csv文件,都不会考虑到可能已经在您的文件中包含数据。当您将csvfile加载到程序中时,您应该将新数据附加到文件中,而不是仅仅写入