报错:pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 7, saw 2

简介: 报错:pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 7, saw 2

报错:pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 7, saw 2


Pandas 合并 CSV 文件时报错如下:

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

1、报错原因

中间字符串有错误,因为 read.csv 默认分隔符是“,”,比如前面都是一行没有“,”,后面突然出现一行有“,”,这时这行数据就会变成两列,前面是一列,后面忽然变成两列 ,这时程序就会报这种错误。

 

我的这个错误是由于 用 pandas.read_csv() 函数读取 Excel 文档(其实也不能怪我,同事给的文档后缀是 .csv,哪成想竟然是个Excel文件,最后是执行 file 命令才知道的

,坑了我一个小时的时间啊。。。)

2、解决办法

使用 pandas.read_excel()

当然我查到有改成如下代码成功了的,虽然对我的问题不适用,也记录在此,主要是 sep 参数:

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

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

3、事后感想

虽然此事乌龙,但也让我处理了一个从没遇到过的 bug,也算有其价值,顺便想暴打一顿同事小哥,毕竟我大周日的来加班也不容易啊。。。

相关文章
|
6天前
|
数据采集 数据可视化 数据挖掘
使用Pandas对Data列进行基于顺序的分组排列
使用Pandas对Data列进行基于顺序的分组排列
15 0
|
9月前
|
数据格式 Python
Data Science | Pandas基础(三)-Timestamp
Data Science | Pandas基础(三)-Timestamp
|
9月前
|
索引 Python
Data Science | Pandas基础(二)
Data Science | Pandas基础(二)
|
9月前
|
数据挖掘 数据库 索引
Data Science | Pandas基础(一)
Data Science | Pandas基础(一)
126 0
|
机器学习/深度学习 数据采集 算法
一文速学-Pandas处理分类数据(Categorical data)详解+代码演示(一)
一文速学-Pandas处理分类数据(Categorical data)详解+代码演示(一)
532 0
一文速学-Pandas处理分类数据(Categorical data)详解+代码演示(一)
成功解决pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 49, saw 2
成功解决pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 49, saw 2
成功解决pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 49, saw 2
成功解决pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 49, saw 2
|
6天前
|
SQL 数据采集 数据可视化
使用Python Pandas实现两表对应列相加(即使表头不同)
使用Python Pandas实现两表对应列相加(即使表头不同)
23 3