我有一个包含元组的大清单:
data = [(
u'378329',
u'104',
u'13/03/2017 12:41:29',
u'18.19',
u'7891008171730;CHOC GAROTO BRANCO NEGRESCO
125G;1;UN;5.29;5.297891021006934;CAFE MELITTA EXTRAFORTE
500G;1;UN;12.9;12.90'), similar entries....,
]
我正在尝试使用以下代码将这些条目写入csv:
with open('sefaz.csv', 'wb') as f:
writer = csv.writer(f, delimiter=',', quotechar="'", quoting=csv.QUOTE_MINIMAL)
writer.writerow(data[0])
这是我的输出:
任何人都可以向我解释这种行为吗?为什么分裂如此奇怪?
我想要整个字符串:
'7891008171730;CHOC GAROTO BRANCO NEGRESCO 125G;1;UN;5.29;5.297891021006934;CAFE MELITTA EXTRAFORTE 500G;1;UN;12.9;12.90'
成为一个人。
答案 0 :(得分:0)
您可以使用双引号:
可以引用任何字段(即包含在双引号内 字符)。必须引用某些字段,如下所示 规则。
可以引用任何字段(即包含在双引号字符中)。必须引用某些字段,如以下规则中所述。
"1997","Ford","E350"
必须引用包含逗号或双引号字符的字段。
1997,Ford,E350,"Super, luxurious truck"
查看Comma-separated values的更多详情。
答案 1 :(得分:0)
您正在努力完成csv.reader()
中的所有选项。似乎最后一列是一个多行字符串。 csv
库可以正常处理它,如下面的示例所示。如果您希望Excel能够读取您的文件,请使用dialect='excel'
参数:
import csv
data = [(
u'378329',
u'104',
u'13/03/2017 12:41:29',
u'18.19',
u'''7891008171730;CHOC GAROTO BRANCO NEGRESCO
125G;1;UN;5.29;5.297891021006934;CAFE MELITTA EXTRAFORTE
500G;1;UN;12.9;12.90'''),
]
with open('sefaz.csv', 'wb') as f:
writer = csv.writer(f, dialect='excel')
writer.writerow(data[0])
with open('sefaz.csv') as f:
reader = csv.reader(f)
print(next(reader))
输出:
['378329', '104', '13/03/2017 12:41:29', '18.19', '7891008171730;CHOC GAROTO BRANCO NEGRESCO\n 125G;1;UN;5.29;5.297891021006934;CAFE MELITTA EXTRAFORTE\n 500G;1;UN;12.9;12.90']
导入Excel时: