如果我在 Excel (.xls) 工作表中有两行,例如键值对,有没有办法通过在 xlrd 中输入键 (row0) 来获取值 (row1)?
例如,如果我有(0,0) = COLOR
and (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)
orxrange(1, sheet.nrows, 2)
代替。
编辑:也更新为搜索列。