如何在CSV文件中将逗号写为普通文本?(双引号方法不起作用)

ula*_*ade 0 python csv text comma

我正在使用Python在CSV文件中输出一些数据.它必须绝对是一个CSV文件,我不能使用任何其他东西,这就是我要命令做的事情.逗号必须用作分隔符,但有时数据包含逗号,因此我在字符串周围加上双引号并将它们放在一个字段中.到目前为止这是好的,但是当数据还包含双引号时会发生什么?数据中包含的符号没有限制.

Mar*_*ers 7

不要重新发明轮子,使用csv模块写出你的数据:

import csv

with open(outputfilename, 'wb') as outfh:
    writer = csv.writer(outfh)
    writer.writerow(['Data with , commas and nested " quotes', 'works just fine'])
Run Code Online (Sandbox Code Playgroud)

您可以调整引用行为,但默认(Excel兼容)设置将为您处理逗号和嵌套引号的引用.引用包含引号或逗号的列,任何嵌入的引号加倍.

演示:

>>> from cStringIO import StringIO
>>> import csv
>>> out = StringIO()
>>> writer = csv.writer(out)
>>> writer.writerow(['Data with , commas and nested " quotes', 'works just fine'])
>>> out.getvalue()
'"Data with , commas and nested "" quotes",works just fine\r\n'
Run Code Online (Sandbox Code Playgroud)