禁用csv
报价并自己添加报价:
def quote(col):
if col is None:
return ''
# uses double-quoting style to escape existing quotes
return '"{}"'.format(str(col).replace('"', '""'))
writer = csv.writer(fileobj, quoting=csv.QUOTE_NONE, escapechar='', quotechar='')
for row in rows:
writer.writerow(map(quote, row))
通过将escapechar
和都设置quotechar
为空字符串,可以避免模块引用已引用的值。
只要您在csv值中不使用 定界符 ,上述方法就可以工作。
请注意,此时您自己编写用逗号分隔的行会更容易:
with open(filename, 'w'), fd:
for row in rows:
fd.write(','.join(map(quote, row)) + '\r\n')