4

キーと値のペアのように、Excel(.xls)シートに2つの行がある場合、xlrdにキー(row0)を入力して値(row1)を取得する方法はありますか?

たとえば、とがある場合、次のようにするにはどうすれば(0,0) = COLORよい(1,0) = REDですか。

value = sh.col_values("COLOR") ?

私が見つけた最も近いものはですがsh.col_values(int)、それは私がインデックスに入力することしかできません。

4

1 に答える 1

3

COLOR次の行の値が見つかるまで列を下に検索する必要があります。

from itertools import product

def value_from_key(sheet, key):
    for row_index, col_index in product(xrange(sheet.nrows), xrange(sheet.ncols)):
        if sheet.cell(row_index, col_index).value == key:
            return sheet.cell(row_index+1, col_index).value

value = value_from_key(sheet, 'COLOR')

キーが偶数行または奇数行にあることがわかっている場合は、代わりに使用できxrange(0, sheet.nrows, 2)ますxrange(1, sheet.nrows, 2)

編集:列も検索するように更新されました。

于 2011-08-07T03:38:41.147 に答える