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

如何用openpyxl为黄色单元格所在行的新列添加指定值?

解决Excel黄色单元格对应行添加特定值的问题

原代码存在的问题

  • 重复加载两次工作簿,易导致实例不一致且浪费资源
  • 仅打印黄色单元格位置,未实现新列写入特定值的逻辑
  • 颜色判断逻辑宽泛,未精准匹配黄色

修正后的实现代码

from openpyxl import load_workbook

# 加载工作簿,data_only=True读取单元格计算结果,False保留公式
wb = load_workbook('AG Construction.xlsx', data_only=True)
fs = wb.active
fs_count_row = fs.max_row 
fs_count_col = fs.max_column 

# 目标新列:现有最后一列的下一列
target_col = fs_count_col + 1
# 黄色的颜色索引(可通过原代码打印的bgColor值确认,常见为00FFFF00)
YELLOW_COLOR = "00FFFF00"
# 要添加的特定值
SPECIFIC_VALUE = "你的特定值"

for riga in range(1, fs_count_row + 1):
    has_yellow = False
    # 遍历当前行所有列,检查是否存在黄色单元格
    for colonna in range(1, fs_count_col + 1):
        cell = fs.cell(row=riga, column=colonna)
        bg_color = cell.fill.bgColor.index
        if bg_color == YELLOW_COLOR:
            has_yellow = True
            break  # 找到一个黄色就停止当前行列遍历,需处理多个黄色则删除此行
    
    # 当前行存在黄色单元格时,在新列写入特定值
    if has_yellow:
        fs.cell(row=riga, column=target_col, value=SPECIFIC_VALUE)

# 另存为新文件,避免覆盖原数据
wb.save('AG Construction_updated.xlsx')

关键说明

  • 颜色索引确认:若不确定黄色的准确索引,先运行原代码打印黄色单元格的bgColor值,替换代码中的YELLOW_COLOR
  • 赋值逻辑:fs.cell(row=riga, column=target_col, value=SPECIFIC_VALUE)是openpyxl写入单元格的标准方式,直接给目标位置赋值
  • 文件保存:建议另存为新文件,防止修改原文件造成数据丢失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 22:58:21