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

如何用Python批量替换Excel中的旧名称为对应新名称?

批量替换Excel旧名称为对应新名称的高效实现

核心思路

400行的映射数据完全不算大,用字典实现是最优解——构建和查询的效率都足够高,不用有性能顾虑。下面用Python结合工具快速完成整个流程,不管是直接读Excel还是复制列内容处理都能搞定。

步骤1:快速构建新旧名称映射字典

用pandas(简洁高效)

import pandas as pd

# 读取映射Excel文件,假设表头是Column A(旧名称)、Column B(新名称)
map_df = pd.read_excel("名称映射文件.xlsx")
# 一键构建旧名称到新名称的映射字典
name_mapping = dict(zip(map_df["Column A"], map_df["Column B"]))

用openpyxl(无需额外安装pandas时可选)

from openpyxl import load_workbook

wb = load_workbook("名称映射文件.xlsx")
ws = wb.active
name_mapping = {}
# 跳过表头,从第2行开始遍历数据
for row in ws.iter_rows(min_row=2, values_only=True):
    old_name, new_name = row[0], row[1]
    if old_name:  # 跳过空行避免无效映射
        name_mapping[old_name] = new_name

步骤2:批量替换目标文件中的旧名称

方式1:直接操作Excel文件批量替换

用pandas的replace方法一键处理指定列:

# 读取待替换的Excel文件
target_df = pd.read_excel("待替换文件.xlsx")

# 替换指定列的旧名称,示例处理column A和column B
target_df["column A"] = target_df["column A"].replace(name_mapping)
target_df["column B"] = target_df["column B"].replace(name_mapping)

# 保存替换后的文件,index=False避免生成多余索引列
target_df.to_excel("替换完成文件.xlsx", index=False)

注:遇到无对应映射的旧名称时,replace会自动保留原名称,无需额外处理。

方式2:复制列内容到程序中处理

如果只想复制目标列的旧名称到程序里处理,直接转成列表批量替换:

# 把从Excel复制的旧名称粘贴到这里
old_names = [
    "apple-er3",
    "alk-er43",
    # ... 其他旧名称
]

# 批量替换,找不到映射的保留原名称
new_names = [name_mapping.get(name, name) for name in old_names]

# 打印结果后直接复制回Excel即可
print(new_names)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 06:30:02