使用具有特定值 openpyxl 的 excel 行
Use excel row with specific value openpyxl
我试图在 excel sheet 中找到具有特定值的行,然后处理该行中的单元格。
因此,例如,我想在 A 列中找到值为 "Yes" 的行。我尝试使用以下代码执行此操作(希望它会打印行号其中包含 "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)
有人可以帮助我做错什么吗
无论 "Yes" 是否在第 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)
如果您只查找单个值,这是最好的方法。
sentinel = u"Yes"
for row in ws:
for cell in row:
if cell.value == sentinel:
print(cell.row) #
break
如果您可能正在寻找多个值,那么最好创建一个以值作为键的单元格坐标字典。
我试图在 excel sheet 中找到具有特定值的行,然后处理该行中的单元格。
因此,例如,我想在 A 列中找到值为 "Yes" 的行。我尝试使用以下代码执行此操作(希望它会打印行号其中包含 "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)
有人可以帮助我做错什么吗
无论 "Yes" 是否在第 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)
如果您只查找单个值,这是最好的方法。
sentinel = u"Yes"
for row in ws:
for cell in row:
if cell.value == sentinel:
print(cell.row) #
break
如果您可能正在寻找多个值,那么最好创建一个以值作为键的单元格坐标字典。