pandas 读csv并在引号中加上转义的引号 [英] Pandas reading csv with a escaped quote in a quote
本文介绍了 pandas 读csv并在引号中加上转义的引号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
任务是使用Pandas读取此csv(即 pd.read_csv(filename)
):
The task is to read this csv with Pandas (i.e.. pd.read_csv(filename)
):
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
ParserError: Error tokenizing data. C error: Expected 4 fields in line 3, saw 5
这似乎是一个常见问题.熊猫 read_csv
中是否有可以处理此问题的配置?
This seem like a common problem. Is there a configuration in Pandas read_csv
that can handle this?
推荐答案
默认情况下, 转义符
为无.要将反斜杠指定为用于转义分隔符的单字符字符串(例如,双引号),请使用 escapechar ='\\'
:
In [23]: pd.read_csv('data', escapechar='\\')
Out[23]:
title description
0 Jeans blue
1 Jeans 2" seam
2 Jeans 2" seam, blue
这篇关于 pandas 读csv并在引号中加上转义的引号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文