【问题标题】:Csv write Double quotescsv写双引号
【发布时间】:2020-10-28 10:44:45
【问题描述】:

我正在从 python 的 CSV 编写器创建一个 CSV,我想要与输入 CSV 相同的数据,但一些文本带有双引号。 我已经成功添加了我想要的文本,但我在文本中遇到了双引号。 输出文件给了我 3 个双引号,而不仅仅是 1 个。 到目前为止,这是我的代码:

with open('test.txt',newline='') as f:
    r = csv.reader(f,delimiter='\t')
    data = [line for line in r]

with open('abc.csv','w',newline='') as f:
    w = csv.writer(f, delimiter=',')
    w.writerow(["some of my text"])
    w.writerow(["some more: 123456"])
    w.writerow(["even more: 5555"])
    w.writerow([f"with a variable: {time}"])
    w.writerows(data)

这段代码插入文本的输出是这样的:

"""我的一些文字"""

"""更多:123456"""

"""甚至更多:5555"""

"""带有变量:28th oct"""

请建议我在哪里删除这些三引号。

【问题讨论】:

  • 不要将它们添加到行中

标签: python csv


【解决方案1】:

3 个双引号,而不仅仅是 1 个

没错。在 CSV 中," 用于包围包含特殊字符的值。为了包含文字",必须通过加倍来转义它。

所以你得到一个 " 作为值的开始/结束,然后是两个 "" 来编码值中的引号。

RFC 4180 §2 ¶7

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-02
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    相关资源
    最近更新 更多