You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:06:03