Python围绕包含逗号的csv单元格引用

时间:2017-09-05 17:44:41

标签: python csv

Python:v 3.6

更新

我尝试引用一切的代码,即quoting=csv.QUOTE_ALL。由于某种原因,即使这样也无法正常工作,即文件正在输出,但没有引号。

如果可以解决这个问题,它可能有助于解决剩下的问题。

代码

import csv

in_path = "eateries.csv"

with open(in_path,"r") as infile, open("out.csv","w", newline='') as outfile:
    reader = csv.reader(infile)
    writer = csv.writer(outfile, delimiter=",", quoting=csv.QUOTE_ALL)
    writer.writerows(reader)

enter image description here

原始问题:

我正在尝试编写读取csv文件并输出csv文件的python脚本。在输出中,带逗号的单元格(",")将具有引号

输入:

enter image description here

预期产出:

enter image description here

实际输出:

enter image description here

以下是代码,请协助

import csv


in_path = "eateries.csv"
with open(in_path,"r") as infile, open("out.csv","w", newline='') as outfile:
    reader = csv.reader(infile)
    writer = csv.writer(outfile, delimiter=",", quotechar=",", quoting=csv.QUOTE_MINIMAL)
    writer.writerows(reader)

1 个答案:

答案 0 :(得分:1)

quotechar并不意味着“引用此字符”。这意味着“这是你用来引用事物的角色”。

您不想使用逗号来引用内容。删除quotechar=","

更正quotechar后,您的CSV会引用其中包含逗号的字段值,但将CSV导入Excel或某些其他电子表格应用程序可能无法生成带引号的单元格值。 (另外,eateries.csv可能已经引用了。)很可能你实际上并没有需要引用Excel或任何你的电子表格应用程序;这个值在单个单元格中而不是分布在多个单元格中的事实是引用的电子表格版本。