在第一个空行写入 CSV [重复]

问题描述 投票:0回答:2

我正在开发一个将行写入 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)
python csv export-to-csv
2个回答
9
投票

试试这个(注意“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”打开文件进行追加并且不会删除已存在的同名文件。


2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.