在 openpyxl 中定位合并的单元格范围
Locating merged cell ranges in openpyxl
我正在使用 openpyxl 和 Pandas 从 .xlsx
文件中提取一些数据。
我找不到一个单元格 属性(或任何其他信息)来指示我可以在何处找到电子表格中合并的单元格。我如何知道哪些单元格合并在一起?
(编辑以完整回答问题并更新 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
合并单元格的内容实际存储在左上角的单元格中
范围。访问留作 reader 的练习,就像使用其他
单元格引用的形式比标准 Excel 字符串。
我正在使用 openpyxl 和 Pandas 从 .xlsx
文件中提取一些数据。
我找不到一个单元格 属性(或任何其他信息)来指示我可以在何处找到电子表格中合并的单元格。我如何知道哪些单元格合并在一起?
(编辑以完整回答问题并更新 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
合并单元格的内容实际存储在左上角的单元格中 范围。访问留作 reader 的练习,就像使用其他 单元格引用的形式比标准 Excel 字符串。