首页 > 解决方案 > pandas read_excel MultiIndex 表中的行为不一致

问题描述

我正在尝试从 Excel 电子表格的中间读取表格。我一直得到一个Error: "ValueError: Length of new names must be 1, got 2",所以我调查了。

数据如下(从实际数据中匿名的名称/数字):

N       CAT M1                      M2  
            X           Y           X           Y
NO.1    a   0.41643788  0.88942373  0.26933274  0.95977932
        b   0.28689039  0.87526651  0.96954965  0.68133285
        c   0.10116878  0.88546464  0.58168584  0.90003147
NO.2    a   0.76601712  0.78037294  0.00491586  0.83316633
        b   0.0712588   0.37220828  0.47436415  0.64341387
        c   0.85379943  0.81726821  0.22535168  0.48287717
NO.3    a   0.41222094  0.19984605  0.09910102  0.02424937
        b   0.55276466  0.11485025  0.49249596  0.92750493
        c   0.3392061   0.71785127  0.04407181  0.8971764
NO.4    a   0.13319829  0.79513987  0.58707957  0.1328719
        b   0.72346756  0.42838316  0.81403618  0.96184934
        c   0.14540022  0.81240023  0.960625    0.05436801

我创建了两个电子表格来隔离问题:

我运行以下两行以在表中读取 pandas DataFrame

tf = pd.read_excel('test_sheet.xlsx', header=[0, 1], index_col=[0, 1])
tf_fail = pd.read_excel('test_sheet_fails.xlsx', header=[8, 9], index_col=[3, 4])

tf按预期导入,MultiIndex索引和列都有一个。tf_fail给出同样的Error: "ValueError: Length of new names must be 1, got 2"错误。

为什么熊猫在从“A1”单元格偏移时不能读取同一张表?我在文档中遗漏了什么吗?

(注意:我也尝试清除单元格“N”和“CAT”,并得到相同的结果。)

版本

标签: python-3.xexcelpandas

解决方案


推荐阅读