4

如果我在 Excel (.xls) 工作表中有两行,例如键值对,有没有办法通过在 xlrd 中输入键 (row0) 来获取值 (row1)?

例如,如果我有(0,0) = COLORand (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)orxrange(1, sheet.nrows, 2)代替。

编辑:也更新为搜索列。

于 2011-08-07T03:38:41.147 回答