我正在使用阅读器方法读取一列 csv 文件。我的一列包含带有逗号的字符串值。但是当我使用分隔符作为逗号时,读者将它读为两个不同的值。我的要求是,代码应仅将此列值作为单个字符串读取,而 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”
1 回答
DIEA
TA贡献1820条经验 获得超2个赞
您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
您或许可以将"with替换\"为正则表达式。
添加回答
举报
0/150
提交
取消