如何在Openpyxl循环中跳过第一个工作表并搜索指定数值
跳过第一个工作表搜索指定数值的解决方案
直接修改遍历工作表的逻辑,从第二个工作表开始遍历即可,修改后的代码如下:
wb = load_workbook("example.xlsx") sheet3 = wb["Sheet3"] # 从第二个工作表开始遍历(跳过索引0的第一个工作表) for sheet in wb.worksheets[1:]: for row in sheet.iter_rows(2, sheet.max_row-1): numbers = row[9].value if numbers == 652850: # 单个值直接用==判断更简洁 sheet3.append((cell.value for cell in row)) # 记得保存工作簿,否则修改不会生效 wb.save("example.xlsx")
关键改动说明:
- 将
for sheet in wb.worksheets:改为for sheet in wb.worksheets[1:]:wb.worksheets是按顺序存储所有工作表的列表,索引从0开始,[1:]表示从第二个元素开始取到末尾,自然跳过了第一个工作表。 - 简化判断条件:原代码
if numbers in [652850]可以直接写成if numbers == 652850,逻辑一致且更高效。 - 补充了保存工作簿的代码:如果不调用
wb.save(),修改的内容不会写入到文件中。 - 移除了未使用的
sheet1、sheet2变量定义,精简代码结构。
内容的提问来源于stack exchange,提问作者PiAlx
相关产品推荐
相关产品推荐

