【问题标题】:Escape commas when writing string to CSV将字符串写入 CSV 时转义逗号
【发布时间】:2019-04-08 20:53:06
【问题描述】:

我需要使用 Python 在 CSV 文件中添加一个包含逗号的字符串。有人说将字符串括在双引号中会转义其中的逗号。这不起作用。如何在不将逗号识别为分隔符的情况下编写此字符串?

string = "WORD;WORD 45,90;WORD 45,90;END;"
with open('doc.csv') as f:
    prepended = string + '\n' + f.read()
with open('doc.csv', 'w') as f:
    f.write(prepended)

【问题讨论】:

  • 我会使用模块 csv 但你可以在 ' ' - string = 'WORD;"WORD 45,90";"WORD 45,90";END;' 中使用 " "

标签: python csv escaping prepend


【解决方案1】:

正如您所指出的,您通常可以如下引用字符串。读取这些文件的系统是否无法识别该语法?如果您使用 python 的 csv 模块,它将处理正确的转义:

with open('output.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerows(myIterable, quoting=csv.QUOTE_ALL)

引用的字符串如下所示:

"string1","string 2, with, commas"

请注意,如果您的字符串中有引号字符,它将被写为""(连续两个引号字符):

"string1","string 2, with, commas, and "" a quote"

【讨论】:

    猜你喜欢
    • 2018-03-20
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 2018-01-15
    • 2019-04-05
    • 2022-11-30
    • 2012-08-27
    • 1970-01-01
    相关资源
    最近更新 更多