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


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

相关推荐
泡海椒2 小时前
JQuick-Excel 中 FORMULAS 与 TRANSFORM 的边界
excel
泡海椒9 小时前
JQuick-Excel 复杂 STYLE 实战:把报表样式拆成可维护的坐标规则
excel
百数平台1 天前
百数表格知识库配置指南:Excel/CSV 上传、表结构字段类型与 NL2SQL 查询全说明
excel
葡萄城技术团队1 天前
在 DSH 中直接查看和编辑 Excel:dsh-spreadjs-editor 开源插件发布
excel
开开心心就好1 天前
视频里的图片怎么提取?双击一下就导出
java·前端·人工智能·spring·智能手机·intellij-idea·excel
葡萄城技术团队1 天前
从 AI 生成到在线预览:dsh-spreadjs-editor 补齐 DSH 的 Excel 任务闭环
excel
泡海椒1 天前
JQuick-Excel 实战:用 STYLE 配置单元格与区域样式
开发语言·python·excel
优选资讯2 天前
标签打印软件怎么对接 Excel 数据
前端·excel
泡海椒2 天前
JQuick-Excel 实战:FORMAT 管理日期与数字的 Excel 显示
开发语言·python·excel
AIGS0012 天前
从814张表到250个本体:本体建模在做什么
数据库·excel·erp·数据中台·智能问数·本体语义·企业大脑