如何使用python基于单元格值获取Excel单元格行和列

时间:2012-09-05 11:02:57

标签: python xlrd

如何根据python中的xl单元格值识别单元格行和单元格col

sheet.cell(row,col)给出值,但是如果我们有值,那么如何获得shell的相应行和col值

我搜索了但我可以知道如何根据单元格值识别单元格细节。

请事先帮助我

1 个答案:

答案 0 :(得分:1)

您必须遍历工作表,然后遍历工作表中的行,然后遍历行中的单元格。您必须跟踪行和列号,因为xlrd Cell类似乎不存储:

import sys
import xlrd

_ordA = ord('A')

def find_val_in_workbook(wbname, val):
    wb = xlrd.open_workbook(wbname)
    for sheet in wb.sheets():
        for rowidx in range(sheet.nrows):
            row = sheet.row(rowidx)
            for colidx, cell in enumerate(row):
                if cell.ctype != 2:
                    continue
                if cell.value != val:
                    continue
                if colidx > 26:
                    colchar = chr(_ordA + colidx / 26)
                else:
                    colchar = ''
                colchar += chr(_ordA + colidx % 26)
                print '{} -> {}{}: {}'.format(sheet.name, colchar, rowidx+1, cell.value)

find_val_in_workbook(sys.argv[1], float(sys.argv[2]))

使用.xls文件的名称和要搜索的值

调用脚本