如何使用Python重命名Excel文件表头列名并转换表头大小写格式
Excel表头批量重命名实现方案
处理这个场景用pandas库效率最高,新手直接按下面步骤操作即可。
前置依赖安装
先在终端执行命令安装需要的依赖库:pip install pandas openpyxl
实现逻辑
- 读取目标Excel文件获取原始表头
- 默认将所有全大写表头转换为首字母大写、其余字母小写的标题大小写格式
- 支持传入自定义映射表,匹配到的表头会优先用自定义名称覆盖默认转换结果,自定义匹配不区分大小写,避免漏匹配
- 处理完成后将结果写入新文件,不修改原始文件避免数据损坏
完整可运行代码
import pandas as pd def rename_excel_headers(input_file: str, output_file: str, custom_rename_map: dict = None): # 读取Excel首个工作表 df = pd.read_excel(input_file, engine="openpyxl") # 执行默认的标题大小写转换 new_columns = [col.strip().title() for col in df.columns] # 应用自定义重命名规则 if custom_rename_map: # 统一把映射key转大写,做大小写不敏感匹配 normalized_map = {key.upper(): val for key, val in custom_rename_map.items()} for col_index, original_col in enumerate(df.columns): col_key = original_col.strip().upper() if col_key in normalized_map: new_columns[col_index] = normalized_map[col_key] # 替换列名 df.columns = new_columns # 保存结果,index=False表示不导出行号列 df.to_excel(output_file, index=False, engine="openpyxl") # 调用示例 if __name__ == "__main__": # 在这里写你的自定义重命名规则,key是原表头,value是目标表头名 custom_rules = { "MKT": "Market", "USER_ID": "CustomerId", "ORD_NO": "OrderNumber" } rename_excel_headers( input_file="待处理的表格.xlsx", output_file="重命名完成_表格.xlsx", custom_rename_map=custom_rules )
使用说明
- 把调用示例里的文件路径换成你自己的本地文件路径即可运行
- 不需要自定义重命名的时候,调用函数可以不传
custom_rename_map参数,会自动执行全量表头的标题大小写转换 - 如果需要处理Excel里的多个工作表,可以在
pd.read_excel里传入sheet_name=None读取所有工作表,循环处理每个工作表后再统一保存 - 自动过滤原表头前后的多余空格,避免因为看不见的空格导致匹配失败
内容的提问来源于stack exchange,提问作者Kanan Parmar
相关产品推荐
相关产品推荐

