python - 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
如上所示运行,但仍然无法正常工作。我还在我的文件中搜索了引号,但我没有。
解决方案
将 Parser 引擎从 C 更改为 Python 应该可以解决您的问题。使用以下行读取您的 csv:
f=pd.read_csv(filename,error_bad_lines=False, engine="python")
从read_csv文档:
engine{'c', 'python'},要使用的可选解析器引擎。C 引擎更快,而 python 引擎目前功能更完整。
推荐阅读
- jmeter - Jmter,样本结果的重复列表
- node.js - 为什么我在尝试“npm run serve”时会出错?
- bootstrap-4 - 如何创建一次显示多个卡片的轮播
- rust - 我们如何创建具有专门实现的通用方法?
- ios - SKStoreReviewController requestReview 在 iOS 14 上不起作用
- bash - Docker/K8:OpenSSL SSL_connect:SSL_ERROR_SYSCALL
- python - 如何使用 *args 连接无限参数
- rust - 没有 LineWriter 的标准输出
- html - 如何在 html 块中呈现 markdown 语言?
- kubernetes - Kubernetes 是否支持非分布式应用程序?