pandas.errors.ParserError: Error tokenizing data. C error: Expected 31 fields in line 107943, saw 32

利用pandas读取数据数据报错:

 File "pandas/_libs/parsers.pyx", line 876, in pandas._libs.parsers.TextReader.read
  File "pandas/_libs/parsers.pyx", line 891, in pandas._libs.parsers.TextReader._read_low_memory
  File "pandas/_libs/parsers.pyx", line 945, in pandas._libs.parsers.TextReader._read_rows
  File "pandas/_libs/parsers.pyx", line 932, in pandas._libs.parsers.TextReader._tokenize_rows
  File "pandas/_libs/parsers.pyx", line 2112, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 31 fields in line 107943, saw 32

从上面可以看到,在所读取的文件的第107943行出现了错误,本需要32个字段却只给了31个字段

说白了,也就是数据源其他行都是32个字段除了第107943行是31个字段,而我们dataFrame是结构数据,肯定不允许这样的事情

具体解决可以先忽略这个错误

before:

test_df=pd.read_csv(testDataPath,encoding='utf-8',sep=';')

 after:

test_df=pd.read_csv(testDataPath,encoding='utf-8',sep=';',error_bad_lines=False)

不过这个肯定是指标不治本,最好去具体那一行看看数据源,把数据源修改正确才是正解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值