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加载到您的程序中时,您应该将新数据附加到该文件中,而不仅仅是写入该文件。