Python xlrd 模块解析Excel中的合并单元格

我们在使用Python解析Execl 文件时,经常会遇到合并单元格,如上图,我们进行数据处理的时候,需要把被合并的单元格拆分,并把数据回填到各缺失行中的各单元格中,否则第1、5 列的第2~5 行会取到 '',如下。

我们想把如上Execl 表格按行解析成列表,并补充因合并单元格而缺失的值,期望解析该Execl 表格得到如下数据结构:

想要通过Python实现这种效果,我们该如何做呢?


Python xlrd 模块

我们可以通过pip install xlrd 命令安装xlrd模块,使用merged_cells 方法获取合并单元格,merged_cells返回的是一个列表,每一个元素是合并单元格的位置信息的数组,数组包含四个元素(起始行,结束行,起始列,结束列)。

执行上述代码,输出结果如下: