【发布时间】:2017-05-20 16:17:38
【问题描述】:
我有一个正在写入 CSV 的输出。我需要添加csv.QUOTE_NONE,但我似乎找不到正确的位置而不产生错误。
变量:
variable = ['20', '10', '30,30']
注意:我使用的一些变量将包含字符串,即 ['Test','Output', '100']
代码:
with open('file.csv', 'w') as csv_file:
writerc = csv.writer(csv_file)
for item in variable():
writerc.writerow(item)
使用上述代码时,它会在 CSV 中生成以下行。
20,10,"30,30"
所需的写入是:
20,30,30,30
如果我使用quoting=csv.QUOTE_NONE,我会收到一个escapechar 错误_csv.Error: need to escape, but no escapechar set - 如果我设置了一个escapechar,这个问题就会得到解决,但是这会添加一个字符来代替引号。
有什么想法吗?
【问题讨论】:
-
感谢您回复@PaulRooney 这很容易,但我知道有些值是字符串。上面的变量是一个示例,但我需要使用的一些变量将具有
['Test', '20', 'Output'] -
那么你知道哪些列应该是数字,哪些是字符串?
-
在这种情况下必须有引号,因为您的数据是:
20、10和30,30,而不是20、10、30和30。 -
你在创建作者时传递它
writerc = csv.writer(csv_file, quoting=csv.QUOTE_NONE)见here
标签: python python-3.x csv