解决:pandas.errors.ParserError: Error tokenizing data. C error: Expected 2 fields in line 18, saw 4

当使用pandas的pd.read_csv函数时遇到ParserError,通常是因为数据格式问题。在第18行存在预期外的字段数。解决方案包括检查源文件,确保字段分隔正确,或使用error_bad_lines和warn_bad_lines参数忽略错误行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决Python进行pd.read_csv出现:pandas.errors.ParserError: Error tokenizing data. C error: Expected 2 fields in line 18, saw 4

一、问题描述

在进行Python进行pd.read_csv,出现:

pandas.errors.ParserError: Error tokenizing data. C error: Expected 2 fields in line 18, saw 4

在这里插入图片描述

这个错误是由于pandas在读取数据时,遇到了格式不正确的数据行。具体来说,在第18行中,pandas期望只有两个字段,但实际上却看到了四个字段,所以抛出了解析错误。建议检查一下数据文件中的第18行,看看是否有额外的逗号其他分隔符导致了数据格式错误

二、解决思路

这个错误通常是由于读取数据时出现的格式问题导致的。具体来说,在第18行中,pandas希望看到2个字段(例如,如果您正在读取CSV文件,则这意味着2个逗号分隔的值),但实际上却看到了4个字段。

解决这个问题的方法通常是检查第18行的输入数据,并确保其格式与预期格式一致。您可以尝试使用文本编辑器打开源文件,并检查第18行的格式是否正确。一些常见的问题包括:

1. 字段之间使用了错误的分隔符(例如不是逗号)
2. 某些字段中包含了额外的分隔符(例如,如果某个字段中包含逗号)
3. 没有正确地引用包含分隔符的字段(例如将包含逗号的字段放在引号中)
4. 您可以尝试手动编辑源文件以修复格式问题,或者使用pandas的其他参数来指定文件格式或处理错误的行

三、解决方法

读取的是csv文件,分隔默认采用的是逗号
在这里插入图片描述
在这里插入图片描述
解决方法error_bad_lines=False

data= pd.read_csv(data_file, error_bad_lines=False)

如果出现:

在这里插入图片描述

解决方法warn_bad_lines=False

data= pd.read_csv(data_file, error_bad_lines=False,warn_bad_lines=False)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QuietNightThought

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值