我正在尝试将列表写到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)

经过进一步研究,我发现您可以使用以下方法删除引号的书写方式:



当我将其应用到我的代码中时,会出现以下错误:


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,必须对其进行转义。

如果要正确写入数据,则需要先将数据转换为数字,然后再将其导出到csv。

编辑:另一方面,您的数据看起来已经由逗号分隔的值组成-为什么不使用csv编写器而不直接将其写入文件?

10-04 16:31