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

如何用for循环替代重复代码实现Openpyxl单元格颜色填充?

优化对角线单元格填充的循环实现

你可以通过循环遍历行号与列号一致的单元格来替代重复代码,同时提前复用填充样式对象,提升代码简洁性和可维护性。

方法1:直接通过行/列号定位单元格(推荐)

利用openpyxl的cell()方法直接通过行号、列号定位,无需拼接单元格字符串:

from openpyxl.styles import PatternFill

# 提前创建黄色填充样式,避免重复实例化对象
yellow_fill = PatternFill(start_color='FFFF00', fill_type='solid')

# 循环处理A1到D4的对角线单元格(行号=列号,范围1-4)
for i in range(1, 5):
    ws.cell(row=i, column=i).fill = yellow_fill

方法2:拼接单元格坐标字符串

如果习惯用ws['A1']的格式,也可以通过ASCII码转换列字母:

from openpyxl.styles import PatternFill

yellow_fill = PatternFill(start_color='FFFF00', fill_type='solid')

for i in range(1, 5):
    # 64是ASCII码中'A'的前一位,i=1时chr(65)='A',以此类推
    col_letter = chr(64 + i)
    cell_coord = f"{col_letter}{i}"
    ws[cell_coord].fill = yellow_fill

优化说明

  • 避免了重复编写相同的填充赋值代码,后续如果需要扩展对角线范围(比如到E5),只需修改range(1,5)为range(1,6)即可。
  • 提前创建yellow_fill对象,减少不必要的内存开销。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 15:45:55