Pandas read_csv读取含转义引号与逗号的CSV报错解决
解决Pandas读取含转义双引号CSV的字段分隔错误
我刚碰到完全一样的问题!当CSV里的文本字段用双引号包裹,而且部分文本里还有转义的双引号(比如"He said \"Okay, I will\" but I doubt it"),直接用pd.read_csv()读取会触发CParserError: Error tokenizing data. C error: Expected 2 fields in line 1, saw 3——本质是转义引号里的逗号被错误识别成了字段分隔符。
解决方案
只需要给read_csv()加上两个参数就能轻松搞定:
import pandas as pd df = pd.read_csv('dataset.csv', escapechar='\\', encoding='utf-8')
escapechar='\\':告诉Pandas反斜杠是转义字符,这样它就能正确识别\"是文本内容里的双引号,而非字段的结束标记encoding='utf-8':确保文件编码解析正确,避免额外的字符解析异常
用这个方法读取你提供的示例数据:
id, text 0, "random text" 1, "He said \"Okay, I will\" but I doubt it"
就能正常解析出两个字段,不会再出现字段数量不匹配的报错啦。
内容的提问来源于stack exchange,提问作者GRoutar
相关产品推荐
相关产品推荐

