首页 > 解决方案 > Pandas ParserError:标记数据时出错。C 错误:字符串中的 EOF

问题描述

我有超过 400,000 行的数据。运行此代码时:

f=pd.read_csv(filename,error_bad_lines=False)

我收到以下错误:

pandas.errors.ParserError: Error tokenizing data. C error: EOF inside string starting at row 454751

文件末尾的数据如下所示:

BTC 9948    8718    1.57E+12    ASK
BTC 52      8718    1.57E+12    ASK
BTC 120     8718    1.57E+12    ASK
BTC 200     8718    1.57E+12    ASK
BTC 150     8718    1.57E+12    ASK
BTC 50      8718    1.57E+12    ASK
BTC 10      8718    1.57E+12    ASK
BTC 57      8718    1.57E+12    ASK
BTC 50      8718    1.57E+12    ASK
BTC 50191   8718    

第 454751 行是这一行:BTC 50 8718 1.57E+12 ASK
我尝试error_bad_lines=False如上所示运行,但仍然无法正常工作。我还在我的文件中搜索了引号,但我没有。

标签: pythonpandasdataframe

解决方案


将 Parser 引擎从 C 更改为 Python 应该可以解决您的问题。使用以下行读取您的 csv:

f=pd.read_csv(filename,error_bad_lines=False, engine="python")

read_csv文档:

engine{'c', 'python'},要使用的可选解析器引擎。C 引擎更快,而 python 引擎目前功能更完整。


推荐阅读