キーと値のペアのように、Excel(.xls)シートに2つの行がある場合、xlrdにキー(row0)を入力して値(row1)を取得する方法はありますか?
たとえば、とがある場合、次のようにするにはどうすれば(0,0) = COLOR
よい(1,0) = RED
ですか。
value = sh.col_values("COLOR") ?
私が見つけた最も近いものはですがsh.col_values(int)
、それは私がインデックスに入力することしかできません。
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)
。
編集:列も検索するように更新されました。