Python 基础教程

Python 高级教程

Python 相关应用

Python 笔记

Python FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/python-pandas-error-tokenizing-data.html

python pandas 读取 csv 文件报 pandas.errors.ParserError: Error tokenizing data. C error: Expected 9 fields in line 73, saw 10 错误

Python 笔记 Python 笔记


使用 pandas,调用 pd.read_csv 函数读取 csv 文件时,若读取基于分隔符的内容不对时,报类似 pandas.errors.ParserError: Error tokenizing data. C error: Expected 9 fields in line 73, saw 10 错误。

解决方法

针对这个错误,主要有两种解决方式,一种是根据错误提示的行数和列信息找到问题的内容并修复它,然后再重新 run,还有另一种是掩耳盗铃的方式,即忽略掉错误的行数数据,具体如下:

import pandas as pd

data = pd.read_csv('file.csv', error_bad_lines=False)

通过设置 error_bad_lines 参数为 False 后,可以忽略调错误的行数信息,运行程序后也会打印错误行数的详细信息,具体示例如下:

b'Skipping line 73: expected 9 fields, saw 10\nSkipping line 608: expected 9 fields, saw 10\n'

如上控制台打印信息表明,文件中的 73 行和 608 行上数据列数期望是 9,但实际是 10。 

一般如我们在 pycharm 本地运行 pyspark 连接 mysql 时,可能会报 java.lang.ClassNotFoundExc ...
在使用 xgboost 训练数据和检验模型时,如果测试集的特征最大编号数大于训练集的特征最大编号数,在测试时,会报 ValueError: ...
Mac OS 下,python 代码中通过 https 访问相关资源时,如果 ssl 相关证书签名验证失败,会出现如题错误。 ...
基于年粒度,使用 java 8 的 time api 进行时间跨度计算时,出现报错 java.time.temporal.Unsupport ...