相关文章推荐
朝气蓬勃的豆浆  ·  关于C#调用C++dll传指针释放内存问题_ ...·  1 年前    · 
风流倜傥的木瓜  ·  vue 中 ...·  2 年前    · 
气宇轩昂的蜡烛  ·  JPA为字段设置默认值_jap设置默认值_爱 ...·  2 年前    · 
灰常酷的雪糕  ·  教程:在Power BI Desktop ...·  2 年前    · 
挂过科的山寨机  ·  Kotlin 基本数据类型 | 菜鸟教程·  3 年前    · 
Code  ›  Pandas之read_csv()读取文件跳过报错行的解决开发者社区
pandas dataframe
https://cloud.tencent.com/developer/article/1740388
另类的酱肘子
2 年前
作者头像
砸漏
0 篇文章

Pandas之read_csv()读取文件跳过报错行的解决

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 恩蓝脚本 > Pandas之read_csv()读取文件跳过报错行的解决

Pandas之read_csv()读取文件跳过报错行的解决

作者头像
砸漏
发布 于 2020-11-04 10:46:40
3K 0
发布 于 2020-11-04 10:46:40
举报

读取文件时遇到和列数不对应的行,此时会报错。若报错行可以忽略,则添加以下参数:

样式:

pandas.read_csv(***,error_bad_lines=False)

pandas.read_csv(filePath) 方法来读取csv文件时,可能会出现这种错误:

ParserError:Error tokenizing data.C error:Expected 2 fields in line 407,saw 3.

是指在csv文件的第407行数据,期待2个字段,但在第407行实际发现了3个字段。

原因:header只有两个字段名,但数据的第407行却出现了3个字段(可能是该行数据包含了逗号,或者确实有三个部分),导致pandas不知道该如何处理。

解决办法: 把第407行多出的字段删除,或者通过在read_csv方法中设置error_bad_lines=False来忽略这种错误:

改为

pandas.read_csv(filePath,error_bad_lines=False)

来忽略掉其中出现错乱(例如,由于逗号导致多出一列)的行。

KeyError错误:

报这种错是由于使用了DataFrame中没有的字段,例如id字段,原因可能是:

.csv文件的header部分没加逗号分割,此时可使用df.columns.values来查看df到底有哪些字段:

print(df.columns.values)

.在操作DataFrame的过程中丢掉了id字段的header,却没发现该字段已丢失。

例如:

df=df[df[‘id’]!=’null’]#取得id字段不为null的行 df=df[‘id’]#赋值后df为Series,表示df在id列的值,而不再是一个DataFrame,于是丢掉了id的头,此时若再使用df[‘id’]将报错。

取列的值,与取列的区别:

df=df[‘id’]#取id列的值,赋值后df为Series类型,可用print(type(df))来查看其类型

 
推荐文章
朝气蓬勃的豆浆  ·  关于C#调用C++dll传指针释放内存问题_c# inptr 分配空间-CSDN博客
1 年前
风流倜傥的木瓜  ·  vue 中 event.stopPropagation() 和event.preventDefault() 使用 - 随★风 - 博客园
2 年前
气宇轩昂的蜡烛  ·  JPA为字段设置默认值_jap设置默认值_爱上香锅的麻辣的博客-CSDN博客
2 年前
灰常酷的雪糕  ·  教程:在Power BI Desktop 中创建你自己的度量值- Power BI ...
2 年前
挂过科的山寨机  ·  Kotlin 基本数据类型 | 菜鸟教程
3 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号