我正在使用阅读器方法读取一列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”
答案 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。