Python CSV 编写器空行

Posted

技术标签:

【中文标题】Python CSV 编写器空行【英文标题】:Python CSV writer blank line 【发布时间】:2018-02-20 00:42:03 【问题描述】:

我有一个 CSV 文件,其中有

spam

在里面。然后,我做到了

 with open(directory, "a") as config_csv:
    writer = csv.writer(config_csv)
    writer.writerow(["something"])
    writer.writerow(["something else"])

我期待

spam
something
something else

相反,我得到了

spam

"something"

"something else"

我如何得到我想要的东西?

【问题讨论】:

【参考方案1】:

如果你需要的正是你所说的,那么模块csv就不需要了:

with open(directory, "a") as config_csv:
    config_csv.write("something\n")
    config_csv.write("something else\n")

【讨论】:

【参考方案2】:

对于 CSV 模块,使用 delimiterquotecharquoting=csv.QUOTE_MINIMAL 选项达到预期效果:

import csv
with open(file, "a", newline='') as config_csv:
    writer = csv.writer(csvfile, delimiter=' ',
                            quotechar='|', quoting=csv.QUOTE_MINIMAL)
    writer.writerow(["something"])
    writer.writerow(["something else"])

file 将包含:

spam
something
something else

在 Python 3.4 上测试。

【讨论】:

csv.QUOTE_NONE 和 csv.QUOTE_MINIMAL 有何不同? csv.QUOTE_MINIMAL 引用具有分隔符或引号字符的字段。 (来自docs:Instructs writer objects to only quote those fields which contain special characters such as delimiter, quotechar or any of the characters in lineterminator.csv.QUOTE_NONE 没有引用字段。【参考方案3】:

SE 中的其他答案对我不起作用。我所做的是:

with open('ADC.csv', 'a') as csvfile:
    csv_Writer = csv.writer(csvfile, delimiter=';', lineterminator='\n')

【讨论】:

以上是关于Python CSV 编写器空行的主要内容,如果未能解决你的问题,请参考以下文章

Python 如何保存取消空行的csv文件

使用 Python 写入 CSV 会添加空行 [重复]

python csv写入数据,消除空行

超详解Python读写csv文件及空行问题解决

通过 python 将 txt 转换为 CSV:为啥会出现额外的空行? [复制]

python3 写CSV文件多一个空行的解决办法