关于python:在第一个空行写入csv文件

Write to CSV on first empty line

本问题已经有最佳答案,请猛点这里访问。

我正在开发一个应用程序来为csv写行。但是,当我再次运行应用程序时,已经写入的行将被新行覆盖。我怎样才能做到让作者写下一个空行,而不是一个已经有数据的空行?我还没找到怎么做的方法。下面是我的代码:

1
2
3
4
5
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)


请尝试此操作(注意"a"表示追加):

1
2
3
4
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"将打开文件进行附加,不会删除同名的现有文件。


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