相关文章推荐
讲道义的山羊  ·  Coxno Exchange Review ...·  4 月前    · 
淡定的核桃  ·  重回1970s:日本汽车是如何全球崛起的?_ ...·  6 月前    · 
想出家的羽毛球  ·  微软宣布 Windows ...·  6 月前    · 
光明磊落的高山  ·  在vscode上安装ipykernel时出错 ...·  1 年前    · 
爱玩的登山鞋  ·  實作 Dispose 方法 - .NET ...·  1 年前    · 
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))来查看其类型

 
推荐文章
讲道义的山羊  ·  Coxno Exchange Review | Apical
4 月前
淡定的核桃  ·  重回1970s:日本汽车是如何全球崛起的?_手机新浪网
6 月前
想出家的羽毛球  ·  微软宣布 Windows Copilot:基于 AI,全新的 Windows 人机交互方式_introducing windows copilot-CSDN博客
6 月前
光明磊落的高山  ·  在vscode上安装ipykernel时出错。-腾讯云开发者社区-腾讯云
1 年前
爱玩的登山鞋  ·  實作 Dispose 方法 - .NET | Microsoft Learn
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号