遇到问题--python-- pandas--常见问题积累

问题–Error tokenizing data. C error: Expected 3 fields in line 20, saw 4

在使用read_csv时报错

data = pd.read_csv(inputfile, encoding='utf-8',header=None)

完整报错如下:

错如下:

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

原因

首先这个错误是用pandas中使用read_csv引起的,一般出现在使用read_csv读取一个txt文档或者其他excel格式例如xls等文件

错误的原因是因为中间字符串有错误,因为read.csv默认分隔符是“,” 逗号。

前面都是一行没有“,”,后面突然出现一行有“,”,这时这行数据就会变成两列,前面是一列,后面忽然变成两列 ,这时程序就会报这种错误。而且解析出来的数据也是异常的。

解决方法

首先最好是默认使用csv格式的文件记录数据,这样使用pandas读取read_csv一般都不会有问题。

如果非要读取其他格式的文件,就要明确分隔符。

如下:

data = pd.read_csv(inputfile,  encoding='utf-8',header=None,sep = None) 

data = pd.read_csv(inputfile,  encoding='utf-8',header=None,sep = '\t')

data = pd.read_csv(inputfile,delimiter="\t")

你可能感兴趣的:(python,遇到问题解决方案集锦)