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 小时前
Excel:筛选两列中不匹配项
excel
それども3 小时前
Excel文件解析 - 什么是SAX和DOM
java·excel
それども3 小时前
Excel文件解析 - SAX和DOM方式的区别
java·前端·excel
それども3 小时前
Excel文件解析 - SAX startRow cell endRow 执行顺序
java·前端·excel
梦因you而美3 小时前
Python win32com操作Excel:彻底禁用链接更新及各类弹窗(实测有效)
python·excel·win32com·禁用链接更新·excel弹框
それども3 小时前
Excel文件解析 - SAX startRow cell endRow 执行时机
java·excel
HWL56794 小时前
在网页中实现WebM格式视频自动循环播放
前端·css·html·excel·音视频
小白学大数据1 天前
Python爬虫实现无限滚动页面的自动点击与内容抓取
开发语言·爬虫·python·pandas
开开心心就好1 天前
图片校正漂白工具永久免费,矫正实时预览
网络·人工智能·windows·计算机视觉·计算机外设·电脑·excel
开开心心_Every1 天前
音频视频转文字工具,离线语音识别免费
人工智能·游戏·微信·pdf·excel·语音识别·memcache