Agent Skills
返回列表
Excel 映射替换

Excel 映射替换

办公效率 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_8f803df1/excel-mapping-replace。

技能介绍

解决什么问题

把 Excel 某一列(比如"公开国别")里的文本批量替换成标准代码("中国"→CN),是数据清洗里的常见需求。手工做查找替换,最怕两件事:改错列、或把"中国北京"也一起替换掉;写脚本直接改 sharedStrings.xml,又怕全局替换误伤其他列。这个技能把整条流程固定成可复用的四步法,保证只动目标列、只改映射表中存在的值。

核心能力与工作方式

技能遵循 excel-safe-workflow 四步法:需求解析 → 勘察 → 规划 → 执行 → 验证。

  • 映射匹配用 pandas,从映射表或粘贴文本中建立值映射
  • 值替换按文件大小分流:小文件走 openpyxl,大文件走 XML 方案
  • 映射表中不存在的值保留原样,不丢数据

关键步骤

  1. 需求解析:明确目标列(如"公开国别")、映射关系("中国→CN,日本→JP")、映射来源(对话口述 / 粘贴文本 / xlsx 文件)
  2. 勘察:读取目标文件结构,确认列位置
  3. 规划:统计受影响行数(映射表 ∩ 列中值),列出不会被改动的值,确认无误后执行
  4. 执行:走 sheet 层 + 列号限定,只改目标列的 cell;替换后的值写成 inline string,不产生新的 sharedString 引用
  5. 验证:校验替换结果是否符合预期

适用边界与注意点

  • 精确匹配:中国 只匹配 中国,不会匹配 中国北京
  • 大小写敏感:China ≠ china,需要不敏感匹配要先预处理
  • 禁止 sharedStrings 层全局替换:XML 方案通过列号限定(cell.get('r').startswith(col_letter)),不误伤其他列
  • 操作前自动备份:时间戳命名,保留最新 3 份,失败后可从备份恢复
  • 文件被占用时保存会失败:需要关闭 Excel 后重试

使用场景

  • 把表格中的中文国名批量替换成CN、JP等标准代码,且不误伤“中国北京”这类包含关系文本
  • 对几万行大文件的状态列做替换(如“通过”改为“PASS”),担心全局替换误伤其他列
  • 映射关系只存在于粘贴文本中,需要快速应用到目标列,而不是手工逐条查找替换
  • 把混合状态列中映射表内的值统一成规范写法,映射表中不存在的值保持原样

适合人员

  • 数据分析师:每周清洗导出报表中的国别、状态等文本列,需要比手工查找替换更可靠的脚本化方案
  • 后端工程师:为 Excel 导入功能补一段可靠的列级文本映射逻辑,参考四步法与 XML 列级改写实现
  • 运营人员:把几十份渠道表格中的“已关闭”等状态统一改成规范标记,映射表中没有的值必须保留
  • 财务助理:月结前将各子公司费用明细中的科目简称批量替换为集团标准科目,且不能改动未列出的科目