如何在 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。
我正在使用 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。