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

Posted

技术标签:

【中文标题】在第一个空行写入 CSV [重复]【英文标题】:Write to CSV on first empty line [duplicate] 【发布时间】:2014-01-14 11:51:53 【问题描述】:

我正在开发一个将行写入 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)

【问题讨论】:

【参考方案1】:

试试这个(注意附加的“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 并不会擦除已经存在的同名文件。

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于在第一个空行写入 CSV [重复]的主要内容,如果未能解决你的问题,请参考以下文章

csv.writer写入文件有多余的空行

将 Python OrderedDict 写入 CSV

python csv写入数据,消除空行

Python CSV删除空行[重复]

python csv写入的字符串是啥格式

JMeter 使用同一列中带有逗号的值写入 CSV