我正在尝试在具有特定值的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)
请有人帮我解决我的错误
答案 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)