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

How to skip comma while reading CSV file in python?

我正在使用 reader 方法读取一列 csv 文件。我的专栏之一包含带逗号的字符串值。但是当我将定界符用作逗号时,reader 将其读取为两个不同的值。

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

输入: "11"11","Bob Marley, USA","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" "Bob Marley USA" "ABC"

您的 quotechar="'" 应该是 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

您也许可以将 " 替换为 \"regular expression