2016-05-24 10 views
0

xlrdパッケージを使用してExcelスプレッドシートを解析しています。 マージされたセルの終了インデックスを取得したいと考えています。Pythonを使用したExcelでの結合済みセルの末尾

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

行インデックスおよび列インデックス与えられ、Iは、0,0((マージされている場合)(行、列)=ため、この例で

結合セルの終了インデックスを知りたいです);終了= 3

答えて

0

あなたはシートオブジェクトの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 
関連する問題