python跳过错误_Pandas之read_csv()读取文件跳过报错行的解决
读取文件时遇到和列数不对应的行,此时会报错。若报错行可以忽略,则添加以下参数:
样式:
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))来查看其类型
df=df[['id']]#只取df的id列作为一个新的DataFrame,赋值后df仍然是一个DataFrame
df=df[['id','age']]#取df的id和age列作为一个新的DataFrame,赋值后df仍然是一个DataFrame
过滤行
df=df[df['id']!='null']#过滤掉id字段取值为'null'的行
注意,此处的'null'是一个字符串,若df中某行id字段的值不是字符串型,或者为空,将报TypeError:invalid type comparison错,因为只有相同类型的值才能进行比较。
解决办法:如果不能保证id列都是string类型,则需要去掉该过滤条件。
补充知识:pandas 使用read_csv读取文件时产生错误:EOF inside string starting at line
解决方法:使用参数 quoting
df = pd.read_csv(csvfile, header = None, delimiter="\t", quoting=csv.QUOTE_NONE, encoding='utf-8')
以上这篇Pandas之read_csv()读取文件跳过报错行的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。
python跳过错误_Pandas之read_csv()读取文件跳过报错行的解决相关推荐
- 为什么python不报错不出结果_python的坑货ConfigParser类读取文件失败不报错
python中configparser模块(这个模块有个大坑)可以读取配置文件,当然这个配置文件的格式得按照这个模块指定的.格式如下 [CLICKHOUSE] ip = 172.20.96.78 us ...
- 关于with open() as f读取文件时编码报错问题
一般我们都是这样写,python3 with open(file_path, mode='r') as f:..... 但是有时候读取的内容有编码问题,会报错: UnicodeDecodeError: ...
- pd.read_csv()读取文件失败,路径错误
问题 pd.read_csv()读取文件失败,路径错误 原因 在windows系统当中读取文件路径可以使用\ ,但是在python字符串中\有转义的含义,如\t可代表TAB,\n代表换行,所以我们需要 ...
- python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。...
[单选题]李明在他所属的公司工作五年,每天都很认真地处理繁杂的事情,同事们都夸他认真,但是依然没有建树,这是因为: [多选题]品牌标志的作用表现在 [单选题]新产品开发的第一个阶段是_______. ...
- pandas使用read_csv读取文件数据、设置converters参数将百分比字符串转换为数字
pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为数字 目录 pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为 ...
- python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。(4.0分)_学小易找答案...
[单选题]文本文件存储的是(),由若干文本行组成,通常每行以换行符 '\n' 结尾.(4.0分) [单选题]()属性是返回被打开文件的访问模式.(4.0分) [单选题]重力坝是由砼或( )修筑而成的大 ...
- php curl 不验证ssl,PHP Curl https跳过ssl证书认证报错记录及解决
PHP Curl https跳过ssl证书认证报错记录及解决 function get($url = '', $cookie = '') { $ch = curl_init(); curl_setop ...
- 【报错笔记】在做图片上传时上传图片后可以跳转到上传成功界面,也没有报错,数据库中也传入了值,可是eclipse中webapp下怎样都无法生存目录。
在做图片上传时上传图片后可以跳转到上传成功界面,也没有报错,数据库中也传入了值,可是eclipse中webapp下怎样都无法生存目录. 我使用UUID生成8级目录,在webapp下创建目录,将图片传进 ...
- python modulenotfounderror_python 服务器运行代码报错ModuleNotFoundError的解决办法
一.问题描述 一段 Python 代码在本地的 IDE 上运行正常,部署到服务器运行后,出现了 ModuleNotFoundError: No module named 'xxx" 错误. ...
最新文章
- Ext Scheduler Web资源甘特图控件
- 「珍藏」老司机为你推荐10个炫酷的开源库,看完的人都收藏了
- 学计算机用华硕电脑,请问华硕笔记本电脑什么型号比较好用,就商务办公?
- 王亚楠:基于强化学习的自动码率调节
- python求输入数字的平方、如果平方运算后小于50则退出_Python练习题(三)
- this.fields.get(c) is undefined
- 【leetcode 简单】第三十八题 两数之和 II - 输入有序数组
- 关于web前端性能优化总结
- 车床角度计算用计算机,3角函数(数控车床角度计算公式)
- 【Redis】2. 入门篇
- 电子护照阅读器现身出入境办证大厅
- 基于Java的大型网站设计方案
- 借助于栈结构将一个单链表逆置
- 【深度学习】:详解目标检测YOLO V1(You Only Look Once)算法
- mysql left outer join_关于mysql中的left join和left outer join的区别
- 邮箱的规则、正则表达式【亲测有效】
- 求e的近似值 (15 分)
- 计算机组成原理数据流通图作用,计算机组成原理-第14-15讲(第5章).ppt
- 【QGIS】导入dwg文件并导出shp文件
- stem在计算机课程中的应用,浅谈小学信息技术课程中STEAM教育的应用