我有一行数据,我试图写入.tab文件,如下所示:
row = ['07/19/2017/10/33/30', 'gg_ca_18" dishwashers_204454792491_1t1',
Decimal('369.00'), 1L, '66745355']
我想保留单引号未转义,以便它看起来像这样:
07/19/2017/10/33/30 gg_ca_18" dishwashers_204454792491_1t1 369.00 1 66745355
我正在使用以下代码写入文件:
with open(file_name, 'wb') as outfile:
a = csv.writer(outfile, delimiter='\t') # ,escapechar=None, quoting=csv.QUOTE_NONE
a.writerows(row)
我尝试过使用escapechar=None, quoting=csv.QUOTE_NONE
及其中的几种变体。我总是得到错误Error: need to escape, but no escapechar set
。什么是不能逃脱中间单引号的最佳方法?是否可以使用csv
模块?
答案 0 :(得分:2)
您可以使用其他quotechar
:
with open(file_name, 'w') as outfile:
a = csv.writer(outfile, delimiter='\t', quotechar="'")
a.writerow(row)
答案 1 :(得分:1)
如果您不想转义任何内容,则它不再是CSV文件。将每个行项转换为字符串,将字符串连接成一个字符串,并将其写入文件:
line = ' '.join(map(str,row))
#'07/19/2017/10/33/30 gg_ca_18" dishwashers_204454792491_1t1 369.00 1 66745355'
outfile.write(line + "\n")
答案 2 :(得分:-2)
如果要转义某个角色,请使用\
。
在您的示例中,它将是\"