【发布时间】:2012-07-07 05:16:08
【问题描述】:
我正在尝试将列表写入 csv,但是当我这样做时,我会在字段值周围得到包装引号:
number1,number2
"1234,2345"
"1235.7890"
"2345.5687"
使用此代码:
with open('C:\\temp\\test.csv', 'wb') as out_file:
... csv_writer = csv.writer(out_file, delimiter=',')
... csv_writer.writerow(('number1','number2'))
... for f in myList:
... csv_writer.writerow(f)
经过进一步研究,我发现您可以使用以下方法删除引号的书写:
quotechar='', quoting=csv.QUOTE_NONE**
当我将它应用到我的代码时,我得到了这个错误:
Traceback(最近一次调用最后一次):文件“”,行 4、在Error: need to escape, but no escapechar set
with open('C:\\temp\\test.csv', 'wb') as out_file:
... csv_writer = csv.writer(out_file, delimiter=',',quotechar='', quoting=csv.QUOTE_NONE)
csv_writer.writerow(('number1','number2'))
... for f in myList:
... csv_writer.writerow(f)
如何删除这些引号?
编辑
myList 看起来像:
[['1234,2345'], ['1235,7890'], ['2345,5687']]
【问题讨论】:
-
您使用什么程序来读取实际的 CSV 文件?引号是否显示在文本编辑器中?
-
@Blender,我使用 arcmap,值仅在 number1 字段下。
-
您收到引号(或抱怨没有转义字符),因为您在
myList中有需要引用或转义的内容。向我们展示myList中由print myList[:3]获得的前3 行,并将输出复制/粘贴到您的问题的编辑中。
标签: python csv file-io double-quotes