[特殊字符] 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


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

相关推荐
开开心心_Every13 小时前
强制打字练习工具:打够百字才可退出
java·游戏·微信·eclipse·pdf·excel·语音识别
开开心心_Every13 小时前
多端免费远程控制工具:4K流畅同账号直连
游戏·macos·微信·pdf·excel·语音识别·phpstorm
hhzz1 天前
Springboot项目中使用POI操作Excel(详细教程系列3/3)
spring boot·后端·excel·poi·easypoi
Excel工作圈1 天前
凭证助手一键匹配已勾选抵扣发票与全量发票明细
数据库·excel
qq_150841991 天前
32位的CVI2010基于ExcelReport库无法正常访问64位EXCEL的解决方案
excel
weixin_431822401 天前
办公自动化:通过字符串相似度算法找出Excel 中的重复数据
excel·零售
寄思~2 天前
Excel 数据匹配工具 -笔记
笔记·python·学习·excel
222you2 天前
智慧社区:居民信息Excel导入数据库
excel
霍格沃兹测试开发学社测试人社区2 天前
Playwright数据驱动测试:从Excel与JSON获取测试数据指南
excel·playwright
关于不上作者榜就原神启动那件事2 天前
Java中大量数据Excel导入导出的实现方案
java·开发语言·excel