Pandas ParserError:标记数据时出错。C 错误:字符串中的 EOF

Asp*_*der 8 python dataframe pandas

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

f=pd.read_csv(filename,error_bad_lines=False)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

pandas.errors.ParserError: Error tokenizing data. C error: EOF inside string starting at row 454751
Run Code Online (Sandbox Code Playgroud)

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

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    
Run Code Online (Sandbox Code Playgroud)

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

Rah*_*l P 9

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

f=pd.read_csv(filename,error_bad_lines=False, engine="python")
Run Code Online (Sandbox Code Playgroud)

read_csv文档:

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

  • 这有效,谢谢!但是,它会处理数据,但每次运行后都会显示此错误“跳过行 454752:数据意外结束” (4认同)