我正在使用reader方法读取一列csv文件 . 我的一个列包含字符串值,其中包含逗号 . 但是当我使用分隔符作为逗号时,读者将它读作两个不同的值 .
我的要求是,代码应该将此列值作为单个字符串读取,而reader方法应该仅使用分隔符作为逗号 .
Input :"11" 11 "," Bob Marley,美国"," ABC“
Code :
reader = csv.reader(csv_file, delimiter=',', quotechar="'")
output = []
for row in reader:
output = list(row)
for each in output:
print(each)
Output :
"11"11"
"Bob Marley
USA"
"ABC"
Desired output: "1111" "Bob Marley USA" "ABC"
1 回答
您的
quotechar="'"
应为quotechar='"'
,因为输入使用"
表示字符串值 .Edit 1:
您不能在单元格内使用控制字符而不转义它们,因此您的输入需要转义单元格内的每个
"
. 否则它会破裂 .以下代码适用于
"11\"11","Bob Marley, USA","ABC"
,但不适用于"11"11","Bob Marley, USA","ABC"
:您可以使用regular expression替换
"
和\"
.