任务是使用熊猫(即pd.read_csv(filename)
)读取此csv:
title,description
Jeans,"blue"
Jeans,"2\" seam"
Jeans,"2\" seam, blue"
尝试此代码
import os
import pandas as pd
with open("/tmp/test.csv", "w") as f:
f.write('''title,description
Jeans,"blue"
Jeans,"2\" seam"
Jeans,"2\" seam, blue"
''')
pd.read_csv("/tmp/test.csv")
预期输出:
title description
0 Jeans blue
1 Jeans 2" seam
2 Jeans 2" seam, blue
但是实际上,它可以:
读取到 second 行的结果:
title description
0 Jeans blue
1 Jeans 2 seam"
读取到第三行时出错:
ParserError:标记数据时出错。 C错误:应在行中输入4个字段 3,看到了5
这似乎是一个常见问题。熊猫read_csv
中是否有可以处理的配置?
答案 0 :(得分:2)
默认情况下,the escapechar
is None。要将反斜杠指定为用于转义分隔符的单字符字符串(例如,双引号),请使用escapechar='\\'
:
In [23]: pd.read_csv('data', escapechar='\\')
Out[23]:
title description
0 Jeans blue
1 Jeans 2" seam
2 Jeans 2" seam, blue