【Python报错解决方法】:ParserError:Error tokenizing data.C error:Expected x fields in line nnn,saw y.

【Python报错解决方法】:ParserError:Error tokenizing data.C error:Expected x fields in line nnn,saw y.

使用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)

来忽略掉其中出现错乱(例如,由于逗号导致多出一列)的行。
---------------------------------------分享结束,如果有用请帮忙点个赞-----------------------------------
Address:北京
Date:20200914
喜欢可以关注【小猪课堂】公众号了解更多内容

  • 12
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 这个误通常是因为读取的文件格式不正确导致的。请检查你的文件是否以正确的格式保存。如果是一个 CSV 文件,建议使用 pandas.read_csv() 方法读取文件,同时指定正确的分隔符和编码方式。例如: ```python import pandas as pd # 读取 CSV 文件 df = pd.read_csv('file.csv', sep=',', encoding='utf-8') ``` 如果你的文件不是 CSV 格式,可以尝试使用其他 pandas 方法来读取,如 pd.read_excel() 读取 Excel 文件,pd.read_json() 读取 JSON 文件等。 ### 回答2: 这个误是由于在读取数据时,pandas发现了一个问题。具体地,它在第3行发现了2个字段,而预期只有1个字段。这可能是由于数据格式误或不一致导致的。 要解决这个问题,可以尝试以下几个步骤: 1. 检查数据文件的格式:确保数据文件的格式是正确的,并且每一行都与预期的格式一致。检查第3行的数据,看看是否存在额外的字段或字段缺失。 2. 使用合适的参数进行读取操作:使用pandas的read_csv函数读取数据时,可以尝试使用不同的参数来适应数据文件的特殊情况。例如,可以使用sep参数指定数据文件的分隔符,或使用header参数指定是否存在标题行。 3. 跳过问题行:如果只有少数几行存在问题,可以考虑在读取数据时跳过这些行。可以使用skiprows参数指定要跳过的行数,或使用error_bad_lines参数来自动跳过误行。 4. 预处理数据:如果数据文件中存在复杂的格式问题,可以尝试先对数据进行预处理,将其转换为更规范的格式。例如,可以使用Python的字符串处理函数来去除不需要的字符或调整数据格式。 总之,当遇到"Pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 3, saw 2"的误时,需要检查数据文件格式、调整读取参数、跳过问题行或进行数据预处理等方法解决问题。 ### 回答3: pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 3, saw 2。 这个误意味着在解析数据时发生了误。在第三行预期只有一个字段,但是实际上看到了两个字段。 这个误通常出现在读取或解析数据文件时,可能是由于数据文件中某些行的结构与其他行不同导致的。例如,一个CSV文件中的大多数行可能有相同数量的字段,但是某些行可能会包含额外的字段或少于预期的字段。 要解决这个问题,可以尝试以下几种方法: 1. 检查数据文件中的第三行,确保其格式和其他行相同。如果第三行存在额外的字段或少于预期的字段,可以尝试调整该行的数据格式使其与其他行一致。 2. 检查数据文件中的其他行,看是否存在其他行也有类似的问题。如果是这样,可以尝试统一调整数据文件中所有行的格式,使其一致。 3. 确保数据文件中的所有字段都正确地使用了分隔符。例如,在CSV文件中,字段通常使用逗号或其他字符进行分隔。请检查分隔符是否正确,并确保数据文件中的所有行都使用相同的分隔符。 4. 尝试使用不同的解析方法或参数。Pandas提供了多种解析数据的方法和参数。尝试使用不同的方法或参数,看看是否可以成功解析数据文件。 5. 检查数据文件中的特殊字符或不可见字符。有时候,数据文件中存在特殊字符或不可见字符,可能会导致解析误。检查数据文件中的特殊字符,并尝试删除或替换这些字符。 通过尝试以上方法,你应该能够解决这个误,并成功解析数据文件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值