如何在python中读取CSV文件时跳过逗号?

时间:2018-12-10 12:36:31

标签: python list csv delimiter reader

我正在使用阅读器方法读取一列csv文件。我的其中一列包含字符串值,其中包含逗号。但是当我使用定界符作为逗号时,读者会将其读取为两个不同的值。

我的要求是,代码应仅将此列值读取为单个字符串,而reader方法应仅将定界符用作逗号。

输入:         “ 11” 11“,”美国鲍勃·马利“,” ABC“

代码

reader = csv.reader(csv_file, delimiter=',', quotechar="'")
output = []
for row in reader:
    output = list(row)
    for each in output:
        print(each) 

输出

"11"11"
"Bob Marley
 USA"
"ABC"

所需的输出:  “ 1111”“鲍勃·马利美国”“ ABC”

1 个答案:

答案 0 :(得分:1)

您的quotechar='"'应该为",因为输入使用"作为字符串值。

编辑1:

您不能在单元格中使用控制字符而不对其进行转义,因此您的输入需要转义单元格中的每个"11\"11","Bob Marley, USA","ABC"。否则会破裂。

以下代码适用于"11"11","Bob Marley, USA","ABC",但不适用于reader = csv.reader(csv_file, delimiter=',', escapechar='\\', quotechar='"') for row in reader: for cell in row: print cell

"

您也许可以将\"的{​​{1}}替换为regular expression