将字符串写入 CSV 时转义逗号
Posted
技术标签:
【中文标题】将字符串写入 CSV 时转义逗号【英文标题】:Escape commas when writing string to 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;'
中使用 " "
【参考方案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"
【讨论】:
以上是关于将字符串写入 CSV 时转义逗号的主要内容,如果未能解决你的问题,请参考以下文章