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

被折叠的 条评论
为什么被折叠?



