使用Python在Excel中合并单元格结束

时间:2016-05-24 16:58:18

标签: python excel xlrd

我正在使用xlrd包来解析Excel电子表格。 我想得到合并单元格的结束索引。

  A   B   C
  +---+---+----+
1 | 2 | 2 | 2  |
  +   +---+----+
2 |   | 7 | 8  |
  +   +---+----+
3 |   | 0 | 3  |
  +   +---+----+
4 |   | 4 | 20 |
  +---+---+----+
5 |   | 2 | 0  |
  +---+---+----+

给定行索引和列索引,我想知道合并单元格的结束索引(如果合并)

在这个例子中为(row,col)=(0,0);结束= 3

1 个答案:

答案 0 :(得分:1)

您可以使用Sheet对象的merged_cells属性:https://secure.simplistix.co.uk/svn/xlrd/trunk/xlrd/doc/xlrd.html?p=4966#sheet.Sheet.merged_cells-attribute

返回已合并的单元格的地址范围列表。

如果您想仅为垂直合并的单元格获取结束索引:

def is_merged(row, column):
    for cell_range in sheet.merged_cells:
        row_low, row_high, column_low, column_high = cell_range
        if row in xrange(row_low, row_high) and column in xrange(column_low, column_high):
            return (True, row_high-1)
    return False