pandas.errors.ParserError:指定的列太多:应为9996,而找到的是9808

2024-03-28 19:51:19 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用pandas处理数据时,这里有一个类似标题的错误。我的数据列不相等,所以我按降序排序。第一行最长,下一行较短,以此类推。当文件很小时,pandas可以成功地处理它。但是当我把我所有的数据写入文件后,它就不能处理并显示这个错误。在

这是我的代码:

def sequencein(filepath):    
    print (filepath)    
    print("time", time.time())    
    data = pd.read_table(filepath, header=None)    
    print("time", time.time())    
    matr = data.values    
    print("sequence shape:", matr.shape)    
    return matr

文件行尾显示如下: enter image description here


Tags: 文件数据代码标题pandasdatatime排序
2条回答

我自己解决了这个问题。我刚刚把data = pd.read_table(filepath, header=None)修改为data = pd.read_table(filepath)。然后我在我的数据文件中添加了一个标题行,它起作用了。在

documentation表示有两个引擎:

engine : {‘c’, ‘python’}, optional

Parser engine to use. The C engine is faster while the python engine is currently more feature-complete.

问题似乎只出现在'c'引擎,它是自动选择为较大的文件。在

所以,你可以试试

data = pd.read_table(filepath, header=None, engine='python')  

相关问题 更多 >