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

如何在Python代码中用for循环重复Excel单元格编号实现批量取值?

简化重复的Excel单元格提取代码

没问题!当然可以用for循环来干掉这些重复的代码,让你的代码更简洁易维护。

你可以直接循环1到100的数字,每次拼出对应的单元格名称(比如f'C{i}'),然后把值添加到result里,这样一行循环代码就能替代原来的100行重复内容:

改造后的核心代码段

result = []
# 循环1到100的整数(range是左闭右开,所以终止值写101)
for i in range(1, 101):
    result.append(Ad[f'C{i}'].value)

如果想追求更简洁的写法,还可以用列表推导式一步生成result,代码会更紧凑:

result = [Ad[f'C{i}'].value for i in range(1, 101)]

优化后的完整代码

顺便给你调整了几个更规范的细节:

import os
from openpyxl import load_workbook  # 建议把import语句放在文件顶部,符合编码规范

path = "./data"
file_list = os.listdir(path)
results = []

for file_name_raw in file_list:
    # 用os.path.join拼接路径,适配Windows/Linux等不同系统
    file_name = os.path.join(path, file_name_raw)
    wb = load_workbook(filename=file_name, data_only=True)
    # get_sheet_by_name已被弃用,现在直接用字典索引获取工作表更推荐
    Ad = wb['Advanced']
    # 用列表推导式快速生成result
    result = [Ad[f'C{i}'].value for i in range(1, 101)]
    results.append(result)

print(results)

额外小提示

  • 尽量把import语句放在Python文件最开头,这是PEP8官方编码规范的要求
  • get_sheet_by_name方法已经被openpyxl官方弃用,现在使用wb['工作表名称']的方式更稳妥
  • os.path.join拼接路径可以避免不同操作系统的路径分隔符(\和/)问题,让代码更通用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 15:23:15