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

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

  • 引言
  • 正文

引言

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

正文

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 文件。文件内容如下:
Pandas ------ 向 Excel 文件中写入含有 multi-index 和 Multi-column 表头的数据_第1张图片可以看到,此时文件具有多个表头,沿着纵向有两层 column 的名字,沿着横向有两层 index 作为表头。对比代码,我们看到,如果想要两层表头,我们只需要在写入的时候将 indexcolumns 参数使用二维字符串数组来指定即可。

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

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

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

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

你可能感兴趣的:(pandas,pandas,excel)