[特殊字符] Python 自动查找替换 Excel 单元格内容 —— 高效批量处理

本文演示如何利用 Python 和 openpyxl 通过另一个 Excel 表(查找替换表)批量更新待处理文件中的指定内容,是处理编码、ID 或标签一对一替换的高效方案。


🎯 核心思路

  1. 读取查找-替换表 ,创建映射字典 data={查找:替换}

  2. 读取目标 Excel 数据列(如 D 列),并提取"关键码";

  3. 对每个值进行对照替换,并写回 Excel;

  4. 保存生成新文件。


📥 Step 1:构建查找替换映射字典

python 复制代码
from openpyxl import load_workbook

wb = load_workbook('查找替换.xlsx')
ws = wb.active
data = {}

for row in range(2, ws.max_row + 1):
    chazhao = str(ws[f'A{row}'].value)
    tihuan = str(ws[f'B{row}'].value)
    data[chazhao] = tihuan
  • 利用源文件 A、B 列构建查找---替换对;

  • 将所有值转为字符串,以避免数据类型冲突;


📌 Step 2:读取目标 Excel 并提取关键内容

python 复制代码
wb = load_workbook('原表.xlsx')
ws = wb.active

ID_list = [ws[f'D{r}'].value for r in range(2, ws.max_row + 1)]

# 展示前十条数据
ID_list[:10]

ID_list 存储所有原始 D 列值,保留顺序便于替换对应。


✂️ Step 3:对":"之后的代码进行提取

python 复制代码
code = []
for v in ID_list:
    if v is None:
        code.append(None)
    else:
        code.append(v.split(":")[-1])
# 前十条结果:
# code[:10]
  • 使用 split(":") 截取最后部分作为关键码;

  • None 值保持同步,确保索引一致。


🔄 Step 4:按字典替换内容并写回单元格

python 复制代码
for idx, c in enumerate(code):
    if c in data:
        original = ID_list[idx].split(":")[0]
        ws.cell(row=idx+2, column=4).value = f"{original}:{data[c]}"
  • 对存在于 data 的关键码进行替换;

  • 替换方式为替换":"后面的部分,保留前缀描述;


💾 Step 5:保存新文件并定位 None 的行号

python 复制代码
wb.save('原表-替换.xlsx')

ID_list_idx = list(enumerate(ID_list))
for idx, val in ID_list_idx:
    if val is None:
        print(idx)  # 打印第几条记录原值为空,方便后续补充

🖼️ 结果展示区

✅ 小结

  • 使用查找表批量替换 Excel 文件中指定列内容;

  • 拆分字符串方便保留描述部分;

  • 可扩展至多列替换、自定义分隔符、多条件匹配等;

  • 若想增加日志、GUI 交互、批处理多个文件等功能,也可以继续扩展。

更多实用案例,代码,素材如下:

自取链接:https://pan.quark.cn/s/a46f30accea2


如你想换用不同的案例,释放你的脚本或需求,我可以继续帮你输出对应文章内容😊

相关推荐
CircleMouse10 小时前
如何设置wps单元格下拉选项设置
excel·wps
zhangjin122215 小时前
kettle插件-excel插件,kettle读取excel动态表头,kettle根据列名读取excel
excel·kettle·kettle excel插件·kettle 动态excel
远洪1 天前
excel 找出两列不同的数据
excel
pcplayer1 天前
非常好用的 Excel 读写控件
excel·delphi·office
Navicat中国1 天前
使用 Navicat 导入向导导入 Excel 数据时,系统提示导入成功,表中也能看到数据,但行数统计显示为 0,这是什么原因?
数据库·excel·导入
穿着内裤的外星人2 天前
触控精灵远程读写Excel步骤配置
excel
是孑然呀2 天前
【小记】excel vlookup一对多(第二篇)
excel
开开心心就好2 天前
专为视障人士设计的免费辅助工具
windows·计算机视觉·计算机外设·excel·散列表·推荐算法·csdn开发云
transformer_WSZ2 天前
excel两列数据绘制折线图
excel·折线图
蒋胜山2 天前
Excel 练习题(5)
经验分享·excel