使用具有特定值openpyxl的excel行

时间:2016-06-24 10:22:31

标签: python openpyxl

我正在尝试在具有特定值的Excel工作表中找到一行,然后使用该行中的单元格。

因此,例如,我想在A列中找到值为“Yes”的行。我尝试使用以下代码执行此操作(希望它将使用“是”打印行号)在它),但我尝试这段代码时没有打印出来:

wb = openpyxl.load_workbook('C:\\rtemp\\Names.xlsx')
ws = wb['Sheet5']
strValue="Yes"

for row in range(1, 5):
  for column in "A":
    cell_name = "{}{}".format(column, row)
    value= str(ws[cell_name].value)
    if value==strValue:
        rownum=row
        print(rownum)

请有人帮我解决我的错误

2 个答案:

答案 0 :(得分:1)

如果您只寻找单个值,这是最佳方法。

sentinel = u"Yes"

for row in ws:
    for cell in row:
        if cell.value == sentinel:
            print(cell.row) #
            break

如果您可能正在寻找多个值,那么创建按值键入的单元格坐标字典是最佳方法。

答案 1 :(得分:0)

以下工作在我的机器上,无论“是”是否在第5行之后。

strValue="Yes"

for row in range(ws.max_row):
    for column in "A":
        cell_name = "{}{}".format(column, row+1)
        value= str(ws[cell_name].value)
        if value==strValue:
            rownum = row
            print(rownum)