csv.writer 带单引号
csv.writer with a single quote character
我有一行数据要写入 .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
模块?
如果要转义字符,请使用\
。
在你的例子中,它将是 \"
您可以使用不同的 quotechar
:
with open(file_name, 'w') as outfile:
a = csv.writer(outfile, delimiter='\t', quotechar="'")
a.writerow(row)
如果您不想转义任何内容,它就不再是 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")
我有一行数据要写入 .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
模块?
如果要转义字符,请使用\
。
在你的例子中,它将是 \"
您可以使用不同的 quotechar
:
with open(file_name, 'w') as outfile:
a = csv.writer(outfile, delimiter='\t', quotechar="'")
a.writerow(row)
如果您不想转义任何内容,它就不再是 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")