art*_*k21 6 python csv file-io double-quotes
我正在尝试将列表写入csv,但是当我这样做时,我会在字段值周围得到包装引号:
number1,number2
"1234,2345"
"1235.7890"
"2345.5687"
Run Code Online (Sandbox Code Playgroud)
使用此代码:
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)
Run Code Online (Sandbox Code Playgroud)
经过进一步的研究,我发现您可以使用以下命令删除引号的写入:
quotechar ='',quoting = csv.QUOTE_NONE**
当我将此应用于我的代码时,我收到此错误:
回溯(最近一次调用最后一次):文件"",第4行,错误:需要转义,但没有设置escapechar
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)
Run Code Online (Sandbox Code Playgroud)
如何删除这些引号?
编辑
myList看起来像:
[['1234,2345'], ['1235,7890'], ['2345,5687']]
Run Code Online (Sandbox Code Playgroud)
列表中的内容不是数字,而是文本,甚至包含分隔符.这意味着将其导出为csv必须进行转义.
如果要将数据正确写入,则需要在将数据导出到csv之前将其转换为数字.
编辑:另一方面,您的数据看起来像是由逗号分隔值组成 - 为什么不在不使用csv编写器的情况下将其直接写入文件?
归档时间: |
|
查看次数: |
6343 次 |
最近记录: |