使用pandas中pd.read_csv遇问题:意外的分词错误
问题描述
使用pandas读取CSV文件时触发解析错误,代码如下:
import pandas as pd file_path = 'example.csv' df = pd.read_csv(file_path)
报错信息:
ParserError: Error tokenizing data. C error: Expected 5 fields in line 7, saw 6.
已反复确认CSV文件列数正确,搜索同类问题未找到可行解决方案,无法成功创建DataFrame。
解决方案
- 跳过错误行:启用错误处理,跳过格式异常的行,同时开启警告提示哪些行被跳过:
df = pd.read_csv(file_path, error_bad_lines=False, warn_bad_lines=True) - 指定列数解析:明确设置预期列数,强制pandas按指定列数读取:
df = pd.read_csv(file_path, names=list(range(5))) # 替换5为实际预期列数 - 检查字段格式:打开CSV第7行,确认是否存在字段内未被引号包裹的分隔符(比如逗号)。正确格式应为
"包含逗号的字段",其他字段,...,若缺失引号需补全,或确认是否用了错误的分隔符,通过sep参数指定正确分隔符。 - 切换解析引擎:使用Python引擎替代默认的C引擎,对格式异常的容忍度更高:
df = pd.read_csv(file_path, engine='python')
内容的提问来源于stack exchange,提问作者Priteek Singh
相关产品推荐
相关产品推荐

