如何用openpyxl查找列中含指定字符串的单元格并返回对应行其他列值
问题解决代码
import openpyxl from openpyxl import load_workbook wb_source = openpyxl.load_workbook("path/file.xlsx") sheet = wb_source['Sheet1'] x = sheet.max_row # 逐行遍历即可,不需要遍历所有列 for r in range(1, x + 1): # 判断A列(第1列)是否包含003 col_a_val = str(sheet.cell(row=r, column=1).value) if "003" not in col_a_val: continue # 判断C列(第3列)是否包含external col_c_val = str(sheet.cell(row=r, column=3).value) if "external" in col_c_val: # 把D列(第4列)的值赋值给同行E列(第5列) sheet.cell(row=r, column=5).value = sheet.cell(row=r, column=4).value wb_source.save("path/file2.xlsx")
参数说明
- 行参数直接使用遍历变量
r即可,无需额外定义 - 列索引对应规则:A列=1、C列=3、D列=4、E列=5
- 原代码中双层列遍历逻辑冗余,删除即可,无需额外声明copy变量
效果参考
修改前

修改后

内容的提问来源于stack exchange,提问作者Thomas
相关产品推荐
相关产品推荐

