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

循环中如何修改名称动态变化的变量?Python批量Excel列重命名问题

批量处理数据库导出Excel文件实现方案

你原有代码存在未定义变量duf、未处理动态列重命名为FY-0、重命名写法冗余的问题,修正后的可运行代码如下:

import os
import pandas as pd

in_path = 'ESG_untransformed'
out_path = 'ESG_transformed'

# 输出路径不存在则自动创建
if not os.path.exists(out_path):
    os.mkdir(out_path)

# 动态列固定位置索引(pandas列索引从0开始计数,可根据你的实际列位置调整取值)
DYNAMIC_COL_INDEX = 28

for filename in os.listdir(in_path):
    if filename.endswith('.xlsx'):
        # 读取原始文件
        file_full_path = os.path.join(in_path, filename)
        df = pd.read_excel(file_full_path)
        # 删除前2行并重置行索引
        df = df.iloc[2:].reset_index(drop=True)
        
        # 批量生成FY-1到FY-20的重命名规则
        rename_dict = {f'Unnamed: {i}': f'FY-{i-28}' for i in range(29, 49)}
        # 把固定位置的动态列重命名为FY-0
        rename_dict[df.columns[DYNAMIC_COL_INDEX]] = 'FY-0'
        
        # 执行列重命名
        df = df.rename(columns=rename_dict)
        
        # 导出处理后的文件
        df.to_excel(os.path.join(out_path, filename), index=False)

注意事项

  • 你可以根据动态列的实际位置调整DYNAMIC_COL_INDEX的取值,比如第一列对应索引为0,第二列对应索引为1,以此类推
  • 代码用字典推导式批量生成重命名规则,无需逐行写20次重命名逻辑
  • 修正了原代码中变量名写错、写入文件用了未重命名数据的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 20:36:03