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


问题内容

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

NS71282379_67698209    123456001
NS71282379_56698765    123456002
NS71282379_67698209    123456003
.
.
.

现在,在我的脚本中,我试图为123456003as找到相应的值NS71282379_67698209。在我的脚本中,我想用Excel工作表中的值替换123456003。我曾经xlrd导入过工作表,但是还没有找到任何可以轻松找到对应值的方法。我该如何聪明地做到这一点?


问题答案:

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

$猫test.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)

$ python test.py

[u'NS71282379_67698209', 123456003.0]