Tkinter导出CSV:如何让CSV Writer为每个字段添加双引号?
如何让CSV Writer给每个字段都加上双引号?
你的问题根源在于错误地把所有字段拼接成了单个字符串传给writerow(),CSV Writer会把这个拼接后的字符串当成一个单独的字段处理,所以只会在首尾加引号,和你设置的quoting参数无关。
要实现每个值都被双引号包裹,你需要做两个调整:
- 保持
quoting=csv.QUOTE_ALL的配置(这个参数就是用来让所有字段强制加引号的) - 把每个字段作为独立元素传入
writerow(),而不是拼接成一个字符串
修改后的核心代码如下:
with open('berichten.csv', 'a') as csvfile: w = csv.writer(csvfile, quoting=csv.QUOTE_ALL) if Name_data == '': # 每个字段单独作为列表元素 w.writerow([Message_data, s, 'anoniem', station]) else: w.writerow([Message_data, s, Name_data, station])
这样处理后,CSV Writer会自动把列表里的每个元素识别为独立字段,结合csv.QUOTE_ALL的设置,每个字段都会被双引号包裹,同时还能自动处理字段中可能包含的逗号、换行符等特殊字符,避免CSV格式混乱。
内容的提问来源于stack exchange,提问作者Danxs
相关产品推荐
相关产品推荐

