在pyopenxl中找到合并的单元格范围

时间:2015-06-19 15:14:03

标签: python pandas openpyxl

我正致力于使用pyopenxl和Pandas从.xlsx文件中提取一些数据。

我无法找到一个单元格属性(或实际上任何其他信息),指示我可以在哪里找出哪些单元格在电子表格中合并。我如何知道哪些单元格合并在一起?

1 个答案:

答案 0 :(得分:5)

(编辑完全回答问题并更新2018-08-31)。

如果您想知道哪些范围已合并,您可以检查merged_cells.ranges工作表属性,这是一个列表 openpyxl.worksheet.cell_range.CellRange个对象。

CellRange对象实现__contains__,所以它是可能的 通过评估

来查看单元格A3是否属于单元格范围
any('A3' in rng for rng in ws.merged_cells.ranges)

要找出它属于哪个范围:

for rng in ws.merged_cells.ranges:
    if 'A3' in rng:
        break
else:
    rng = None

合并单元格的内容实际上存储在左上角的单元格中 范围。访问它是留给读者的练习,就像使用其他人一样 单元格引用的形式,而不是标准的Excel字符串。