我的csv文件是使用表中的值创建的:
with open(fullpath,'wb') as csvFile:
writer = csv.writer(csvFile,delimiter='|',
escapechar=' ',
quoting=csv.QUOTE_NONE)
string_values = 'abc|xyz|mno'
for obj in queryset.iterator():
writer.writerow([
smart_str(obj.code),#code
smart_str(string_values),# string of values
])
生成的csv应输出结果为:
code1|abc|xyz|mno
但生成的是:
code1|abc |xyz |mno
创建csv时,我无法从字符串中删除空格。无论以何种方式。字符串值是动态生成的,可以包含1个或多个字符串值。我不能使用quoting = csv.QUOTE_NONE而不指定escapechar =' '即一个空间。请建议。
答案 0 :(得分:3)
您不能只编写包含分隔符的字符串,未转义!
使用,而不是:
string_values = 'abc|xyz|mno'.split('|')
for obj in queryset.iterator():
writer.writerow([smart_str(obj.code)] + string_values)
IOW,writerow
列表字符串,让writer
在列表中的字符串之间插入分隔符!