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

样式:

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()读取文件跳过报错行的解决相关推荐

  1. 为什么python不报错不出结果_python的坑货ConfigParser类读取文件失败不报错

    python中configparser模块(这个模块有个大坑)可以读取配置文件,当然这个配置文件的格式得按照这个模块指定的.格式如下 [CLICKHOUSE] ip = 172.20.96.78 us ...

  2. 关于with open() as f读取文件时编码报错问题

    一般我们都是这样写,python3 with open(file_path, mode='r') as f:..... 但是有时候读取的内容有编码问题,会报错: UnicodeDecodeError: ...

  3. pd.read_csv()读取文件失败,路径错误

    问题 pd.read_csv()读取文件失败,路径错误 原因 在windows系统当中读取文件路径可以使用\ ,但是在python字符串中\有转义的含义,如\t可代表TAB,\n代表换行,所以我们需要 ...

  4. python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。...

    [单选题]李明在他所属的公司工作五年,每天都很认真地处理繁杂的事情,同事们都夸他认真,但是依然没有建树,这是因为: [多选题]品牌标志的作用表现在 [单选题]新产品开发的第一个阶段是_______. ...

  5. pandas使用read_csv读取文件数据、设置converters参数将百分比字符串转换为数字

    pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为数字 目录 pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为 ...

  6. python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。(4.0分)_学小易找答案...

    [单选题]文本文件存储的是(),由若干文本行组成,通常每行以换行符 '\n' 结尾.(4.0分) [单选题]()属性是返回被打开文件的访问模式.(4.0分) [单选题]重力坝是由砼或( )修筑而成的大 ...

  7. php curl 不验证ssl,PHP Curl https跳过ssl证书认证报错记录及解决

    PHP Curl https跳过ssl证书认证报错记录及解决 function get($url = '', $cookie = '') { $ch = curl_init(); curl_setop ...

  8. 【报错笔记】在做图片上传时上传图片后可以跳转到上传成功界面,也没有报错,数据库中也传入了值,可是eclipse中webapp下怎样都无法生存目录。

    在做图片上传时上传图片后可以跳转到上传成功界面,也没有报错,数据库中也传入了值,可是eclipse中webapp下怎样都无法生存目录. 我使用UUID生成8级目录,在webapp下创建目录,将图片传进 ...

  9. python modulenotfounderror_python 服务器运行代码报错ModuleNotFoundError的解决办法

    一.问题描述 一段 Python 代码在本地的 IDE 上运行正常,部署到服务器运行后,出现了 ModuleNotFoundError: No module named 'xxx" 错误. ...

最新文章

  1. Ext Scheduler Web资源甘特图控件
  2. 「珍藏」老司机为你推荐10个炫酷的开源库,看完的人都收藏了
  3. 学计算机用华硕电脑,请问华硕笔记本电脑什么型号比较好用,就商务办公?
  4. 王亚楠:基于强化学习的自动码率调节
  5. python求输入数字的平方、如果平方运算后小于50则退出_Python练习题(三)
  6. this.fields.get(c) is undefined
  7. 【leetcode 简单】第三十八题 两数之和 II - 输入有序数组
  8. 关于web前端性能优化总结
  9. 车床角度计算用计算机,3角函数(数控车床角度计算公式)
  10. 【Redis】2. 入门篇
  11. 电子护照阅读器现身出入境办证大厅
  12. 基于Java的大型网站设计方案
  13. 借助于栈结构将一个单链表逆置
  14. 【深度学习】:详解目标检测YOLO V1(You Only Look Once)算法
  15. mysql left outer join_关于mysql中的left join和left outer join的区别
  16. 邮箱的规则、正则表达式【亲测有效】
  17. 求e的近似值 (15 分)
  18. 计算机组成原理数据流通图作用,计算机组成原理-第14-15讲(第5章).ppt
  19. 【QGIS】导入dwg文件并导出shp文件
  20. stem在计算机课程中的应用,浅谈小学信息技术课程中STEAM教育的应用

热门文章

  1. java调用android打包_Android Gradle打包基础
  2. RTT内核对象——对象理解
  3. 在STM32的官方库切换芯片型号
  4. 数据结构—链表-链式存储
  5. 开启服务_Nike Dunk 开启定制服务
  6. 不可忽视的MySQL字符集
  7. PGer看过来!亚洲最大的PG技术盛会重磅来袭!墨天轮全球同步直播!
  8. 三月数据库技术通讯.pdf | Oracle配置DCD避免会话被防火墙强制断开
  9. 单进程架构数据库谨防隐形杀手
  10. 认识容器,我们从它的历史开始聊起