python-3.x - 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
我创建了两个电子表格来隔离问题:
test_sheet.xlsx
包含范围内的数据A1:F14
。test_sheet_fails.xlsx
包含范围内的数据D8:I21
。
我运行以下两行以在表中读取 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”,并得到相同的结果。)
版本
- 蟒蛇:3.8.3
- 熊猫:1.0.5
- 康达:4.8.3
解决方案
推荐阅读
- asp.net-mvc - 添加视图选项在 mvc 中不可用?
- flutter - Flutter 从 UI 中动态插入和删除 `TextFormField`
- arrays - 在 v-for 循环中比较不同对象中的值
- java - 如何在我的类中为休眠验证链接注释
- php - Laravel 控制器中的语法错误检查
- bash - 如何将包含时间戳的列转换为 csv 文件中的纪元时间
- batch-file - 添加前导零以使每个文件名具有相同的长度
- javascript - VS2019 在保存或构建时编译 TS 的方式不同,我该如何解决这个问题?
- regex - 根据分隔符从字符串末尾选择字符串的一部分
- javascript - 如何从 pdf 文件生成器将文件下载到 Go 和 React 中的本地客户端