CSV remove field value wrap quotes

[亡魂溺海] 提交于 2019-12-06 01:34:13

问题


I'm attempting to write a list to a csv, however when I do so I get wrapper quotes around my field values:

number1,number2
"1234,2345"
"1235.7890"
"2345.5687"

Using this code:

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)

After further research, I found that you can remove the writing of quotes by using:

quotechar='', quoting=csv.QUOTE_NONE**

When I apply this to my code I get this error:

Traceback (most recent call last): File "", line 4, in 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)

How do I remove these quotes?

Edit

myList looks like:

     [['1234,2345'], ['1235,7890'], ['2345,5687']]

回答1:


what's in your list are not numbers but text, which is even containing the delimiter character. that means to export this as csv it has to be escaped.

you need to convert your data to numbers before you export it to csv if you want it to be written correctly.

edit: on the other hand your data already looks like it consits of comma separated values - why not write it to a file directly without using a csv writer?



来源:https://stackoverflow.com/questions/11372460/csv-remove-field-value-wrap-quotes

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!