繁体   English   中英

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

[英]How to print csv from list and string combination without delimiter of space?

我的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,即空格。 请提出建议。

您不能只写包含定界符且未转义的字符串!

改为使用:

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

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

IOW, writerow一个字符串列表 ,然后让writer在列表中的字符串之间插入定界符!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM