如何从没有空格分隔符的列表和字符串组合中打印csv?

时间:2015-01-28 04:49:22

标签: python django string list

我的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 =' '即一个空间。请建议。

1 个答案:

答案 0 :(得分:3)

您不能只编写包含分隔符的字符串,未转义!

使用,而不是:

string_values = 'abc|xyz|mno'.split('|')

for obj in queryset.iterator():
     writer.writerow([smart_str(obj.code)] + string_values)

IOW,writerow 列表字符串,让writer在列表中的字符串之间插入分隔符!