解决Python进行pd.read_csv出现:: 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)