【问题标题】:Python CSV writer blank linePython CSV 编写器空行
【发布时间】: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"

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

【问题讨论】:

    标签: python python-3.x csv export-to-csv


    【解决方案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 引用具有分隔符或引号字符的字段。 (来自docsInstructs 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')
      

      【讨论】:

        猜你喜欢
        • 2016-03-21
        • 1970-01-01
        • 1970-01-01
        • 2016-01-09
        • 1970-01-01
        • 2011-03-21
        • 1970-01-01
        • 2014-04-06
        相关资源
        最近更新 更多