数据:数据df是dataframe类型,并且包含多个dataframe类型子数据,他们的列名都是两级,将df导出到Excel的默认工作簿中后,发现表中第三行和第一列都是空白的,其实就是dataframe的列索引和行索引。
问题:导出数据后,再加载Excel删去行、列索引,发现表中多级列名中的第一级列名合并单元格都失效了,并且只显示第一个子数据的第一级列名
代码:
# 创建新Excel文件并将数据写入 使用两级列索引作为标题
df_weather.to_excel(excel_file, header=[0, 1])
# 加载Excel
workbook = load_workbook(excel_file)
# # 获取默认的工作表,一般是第一个
sheet = workbook.active
# 删除第一列(A列)
sheet.delete_cols(1)
# 删除第三行
sheet.delete_rows(3)
# 保存修改后的工作簿
workbook.save(excel_file)
print(f"Excel 文件 {excel_file} 中的第一列和第三行数据已成功删除")
# 关闭工作簿
workbook.close()
使用 to_excel() 方法将带有 多级列索引 (MultiIndex columns) 的 DataFrame 导出到 Excel 时,如果同时设置了 index=False 去掉行索引,但是报错 “NotImplementedError: Writing to Excel with MultiIndex columns and no index (‘index’=False) is not yet implemented”后来查找发现该方法不支持多级列索引去掉行索引
想要的效果:
实际执行结果: