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

使用Python openpyxl为Excel添加条件值时遇查找问题求助

问题分析与修正方案

你的代码存在几个关键问题,导致无法正确匹配目标值并写入对应F列:

  • 嵌套循环完全多余,外层遍历索引、内层又重复遍历整个E列,逻辑混乱
  • ce=+1是将ce赋值为1,并非自增操作,正确的自增写法是ce += 1
  • 要写入的是F列,对应openpyxl的列索引为6(你代码里写的3是C列)
  • 符号#未加引号,属于语法错误,需用字符串格式"#"
  • 循环内反复保存文件会降低效率,应统一在操作完成后保存

修正后的代码

from openpyxl import load_workbook

# 加载工作簿与工作表,替换为你的实际工作表名称
wb = load_workbook("data.xlsx")
ws = wb.active  # 或指定具体表名,比如wb["Sheet1"]

# 遍历E列所有单元格
for cell in ws['E']:
    # 匹配目标值19200
    if cell.value == 19200:
        # 写入对应行的F列
        ws.cell(row=cell.row, column=6).value = "#"

# 统一保存文件
wb.save("data.xlsx")

额外优化建议

  • 若需要匹配多个目标值(比如19000、19100……23000中的多个),可将目标值存入列表,用if cell.value in [19200, 19500, 23000]:判断
  • 可增加空值判断避免报错:if cell.value is not None and cell.value == 19200:

内容的提问来源于stack exchange,提问作者Momoko

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 11:22:41