Pandas ------ 向 Excel 文件中写入含有 multi-index 和 Multi-column 表头的数据

Pandas ------ 向 Excel 文件中写入含有 multi-index 和 Multi-column 表头的数据

引言

之前在 《pandas向已经拥有数据的Excel文件中添加新数据》 一文中我们介绍了如何通过 pandasExcel 文件中写入数据。那么对于含有多表头的数据,我们该如何将它们写入 Excel 中呢?

正文

python 复制代码
import pandas as pd


df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],
                   index=[['row 1', 'row 2'],],
                   columns=[['layer1', 'layer2'],
                            ['col 1', 'col 2']])
df1.to_excel("output.xlsx")

运行上述代码后,我们会在代码存放的目录下找到一个名为 output.xlsxExcel 文件。文件内容如下:
可以看到,此时文件具有多个表头,沿着纵向有两层 column 的名字,沿着横向有两层 index 作为表头。对比代码,我们看到,如果想要两层表头,我们只需要在写入的时候将 indexcolumns 参数使用二维字符串数组来指定即可。

如果只需要一层表头,使用一维字符串数组来指定即可。

相信有细心的小伙伴已经发现了,当指定多层表头的时候,纵向表头和内容之间会自动产生一个空行。这实际上是 pandas 目前存在的一个 bug,官方在 2024.01.25 之前仍旧未能修复。 事实上,它并不影响输出文件的主要内容。

至此,我们介绍了如何向 Excel 文件中写入含有 multi-indexMulti-column 表头的数据。

如果大家觉得有用,就请点个赞吧~

相关推荐
超龄超能程序猿3 小时前
(3)机器学习小白入门 YOLOv: 解锁图片分类新技能
python·numpy·pandas·scipy
Tomorrow'sThinker7 小时前
[特殊字符] Excel 读取收件人 + Outlook 批量发送带附件邮件 —— Python 自动化实战
python·excel·outlook
盛夏绽放8 小时前
ExcelJS 完全指南:专业级Excel导出解决方案
excel·有问必答
bing_15813 小时前
Excel 如何进行多条件查找或求和?
excel
秀儿还能再秀13 小时前
基于Excel的数据分析思维与分析方法
数据分析·excel
bing_15813 小时前
Excel 如何处理更复杂的嵌套逻辑判断?
excel
weixin_4723394613 小时前
高效处理大体积Excel文件的Java技术方案解析
java·开发语言·excel
灵犀学长13 小时前
EasyExcel之SheetWriteHandler:解锁Excel写入的高阶玩法
spring boot·excel
全干engineer1 天前
Spring Boot 实现主表+明细表 Excel 导出(EasyPOI 实战)
java·spring boot·后端·excel·easypoi·excel导出
Fireworkitte1 天前
Java 中导出包含多个 Sheet 的 Excel 文件
java·开发语言·excel