在Python中从Excel工作表中查找值

lea*_*ing 4 python xlrd lookup-tables

我有一个 Excel 工作表 (data.xlxs),其中包含以下超过 200 行的数据模式。

NS71282379_67698209    123456001
NS71282379_56698765    123456002
NS71282379_67698209    123456003
.
.
.
Run Code Online (Sandbox Code Playgroud)

现在在我的脚本中,我试图找到123456003as的相应值NS71282379_67698209。在我的脚本中,我想将 123456003 替换为 Excel 工作表中的值。我曾经xlrd导入工作表,但没有找到任何方法可以轻松地让我找到相应的值。我怎样才能聪明地做到这一点?

Hai*_*ang 6

您可以按范围(sheet.nrows)迭代Excel工作表并根据行号获取行值。下面的脚本逐行迭代 Excel 工作表并打印出与值 123456003 匹配的行。您可以修改它以满足您的要求

$cat测试.py

import xlrd

def open_file(path):
    wb = xlrd.open_workbook(path)
    sheet = wb.sheet_by_index(0)


    for row_num in range(sheet.nrows):
        row_value = sheet.row_values(row_num)
        if row_value[1] == 123456003:
            print row_value

if __name__ == "__main__":
    path = "data.xlsx"
    open_file(path)
Run Code Online (Sandbox Code Playgroud)

$python测试.py

[u'NS71282379_67698209', 123456003.0]
Run Code Online (Sandbox Code Playgroud)