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


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

相关推荐
babe小鑫9 小时前
信息与计算科学专业应届生面试 怎么证明自己能解决业务问题
学习·r语言·excel
Data-Miner15 小时前
商品ABC分类分析怎么用AI做?脚本复用+图表可编辑的一次完整实操
人工智能·数据分析·excel
E-iceblue3 天前
Excel 列转行/行列转换全指南:从 4 种常见解法到 Python 批量自动化
python·excel·python库·spire.xls
Data-Miner3 天前
AI处理数据的脚本复用与逻辑复用有什么区别?哪种方式更能沉淀工作成果
数据分析·excel
福兮说4 天前
在浏览器里写一个“够用就好“的 Excel 公式求值器
前端·javascript·excel·编译原理
慧都小妮子4 天前
标签打印如何减少手工抄数?用Bartender 直连 Excel 批量打印
excel·bartender·条码打印·标签打印软件·数据驱动打印·工业打印机
SunnyDays10115 天前
Java 设置 Excel 数据验证:整数、日期、文本长度、下拉列表和时间
java·excel·数据验证·下拉列表
Metaphor6925 天前
使用 Python 设置 Excel 行列自适应 【代码示例】
python·excel
用户0332126663675 天前
使用 Python 设置 Excel 行列自适应 【代码示例】
python·excel
企业数字化笔记5 天前
固定资产Excel批量导入怎么防重复?资产编码、重复检查和错误回执
java·后端·excel