首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >不会写代码的政企产品经理,把3000条固话号码的处理从4小时压到40秒

不会写代码的政企产品经理,把3000条固话号码的处理从4小时压到40秒

原创
作者头像
用户7865165
发布于 2026-11-03 22:43:03
发布于 2026-11-03 22:43:03
710
举报

一次完整的实战记录:输入材料、WorkBuddy 配置、分步操作、排障过程、产出物。全程没有手写一行代码,但最终交付的是一个同事双击就能用的 Windows 小工具。

一、这项任务到底长什么样

我在某通信运营商的地市分公司做政企产品,固话业务是日常事务之一。每月要做两件跟号码有关的活:

一是按反诈专项整治和外呼合规要求,核对各分局上报的号码清单,确认号码状态、归属、是否在黑名单内;

二是「缩位」——把完整的固话号码按内部规则压成短号,方便客户经理外呼时快速拨号,也避免完整号码在内部系统里到处留痕。

真正烦的不是规则复杂,是分局报上来的表长得不一样。同一个字段,有人填 023-8888 6666,有人填 02388886666,有人从系统里导出成 +862388886666,还有人把分机号塞在同一个单元格里写 88886666转801。更常见的是 Excel 自动把前导 0 吃掉,整列变成科学计数法 8.88889E+10。

原来的做法是逐条看、逐条改。一批三千条,四个小时起步,改完还要抽查一遍。问题的关键不是慢,而是人工改这种重复规则的东西,一定会在某个单元格出错,而且错了当场看不出来。

所以我给自己定的目标很具体:做一个同事双击就能用的小工具,导入 Excel、几十秒出结果,规则吃不下的行自动挑出来标黄,不要静默乱改。

二、输入材料

  • 一份 .xlsx,字段大致为:所属分局、客户名称、联系人、联系电话、状态(实际 4—6 列,各分局略有差异)
  • 单批规模:几百条到三千条不等
  • 脏数据形态(这是最关键的部分,我后来直接把它整理成了一张清单交给 WorkBuddy)

原始写法

实际含义

需要输出

023-8888 6666

带区号和分隔符

88886666

02388886666

带区号,无分隔

88886666

+862388886666

国际前缀格式

88886666

88886666转801

带分机号

主号 88886666,分机 801 单独一列

88886666

全角字符

88886666

8.88889E+10

Excel 科学计数法

无法还原,标黄待人工确认

空值 / 位数不足

无效数据

保留原值,标黄

三、WorkBuddy 配置

这里我刻意做得很「轻」,因为这不是一个需要连接外部服务的任务:

  • 客户端:桌面端,默认工作空间
  • 能力:普通对话任务,让它写 Python 并直接在本机运行(tkinter 做界面、openpyxl 读写 Excel)
  • 没有额外接入 Skill、专家团或 MCP 连接器

一个判断原则:任务越具体、边界越清楚,越不需要堆配置。反过来,如果一开始就把一堆专家和连接器挂上去,模型反而会去猜我要做什么。

四、操作步骤

第 1 步:第一次提问就错了,错在「形容词太多」

我的第一句话是:

帮我写个程序,把 Excel 里的固定电话统一格式化一下。

它给了我一个通用清洗脚本,区号规则全错——把 8 位号码也当成需要补区号的号码,还擅自加了 023。这不是它笨,是我没说清规则。

改成把规则写成可验收的样例,一条输入对一条期望输出:

我要处理一列固话号码,规则如下,请严格按样例输出: 1. 02388886666 → 88886666(去掉 023 区号) 2. 023-8888 6666 → 88886666(去掉区号和分隔符) 3. +862388886666 → 88886666(去掉 +86 和 023) 4. 88886666转801 → 主号 88886666,分机 801 单独输出一列 5. 空值或处理后不足 8 位 → 保留原值,标黄,不猜 请用 openpyxl 实现,输出到新文件,不要覆盖原表。

这一次就对了。一条输入配一条期望输出,胜过十句形容词,这是整个过程里最省时间的一条经验。

第 2 步:先让它「挑出看不懂的行」,不要硬猜

加了一条要求:

凡是匹配不上上述任何规则的行,不要修改,单独写进「待人工确认」表,并注明原因(位数不对 / 含非数字字符 / 疑似科学计数法)。

这一步的收益最大。原来的脚本会把看不懂的行「尽力改造」,改完是错的;加了这个约束之后,工具的行为变成:能确定的自动做,不确定的留给人。第一批三千条里挑出来 41 条待确认,人工看一遍 5 分钟。

第 3 步:加校验,比加功能重要

接着补了校验项:

  • 处理后是否全为数字、位数是否正确
  • 同一批内是否有重复号码
  • 与上一批比对,输出新增、移除、状态变更三个列表

输出结构固定为三张表:结果表 + 异常表 + 汇总表(总数 / 成功 / 待确认 / 重复)。后来向领导汇报时,汇总表就是现成的口径。

第 4 步:从脚本变成工具

我的同事不会用命令行。请加一个窗口:三个按钮——选择文件、开始处理、打开结果目录;处理完弹一句「处理完成,共 X 条,待确认 Y 条」。

它给了 tkinter 的三百来行代码,界面很朴素,但能用。中途踩的坑放在下一节。

第 5 步:打包发给分局

用 pyinstaller 打成 exe,第一次出来四十多兆,同事电脑上的杀毒软件直接拦了。后来改成单文件模式,并配一份一页纸的说明文档(双击运行、不支持的文件格式、报错时把 log.txt 发我),才算真正交付出去。

第 6 步:再迭代一次,把规则抽出来

缩位规则每月会微调(前缀保留几位、是否保留末四位),原来改一次规则要改代码。我让它把规则抽到同目录下的 config.json,现在改配置就行,不用碰代码。

五、排障记录(这部分我认为最值得写下来)

现象

原因

处理

长号码变成 8.88889E+10

Excel 打开时已按数值存储,精度已丢

无法还原,一律进待确认表;源头改为「文本格式」导入

全角数字匹配不上

字符集不同

先做半角转换再匹配

输出后前导 0 消失

写入单元格被当数值

输出目标列强制文本格式

打包后双击闪退

异常没被捕获,窗口直接关

全局 try/except,错误写入 log.txt

杀毒软件报毒

单文件打包的常见误报

改单文件模式 + 说明文档,交由 IT 加白

六、产出物

  • 一个 exe 工具(含界面、配置文件、日志)
  • 一份处理前后对照表

项目

改造前

改造后

单批三千条耗时

约 4 小时

约 40 秒

待人工确认

全靠人工逐条看

平均 40 条左右,5 分钟看完

差错情况

抽查才能发现

校验项自动拦截

谁来做

集中在我这里

各分局自己就能跑

比省时间更值得说的是:这件事从「我一个人加班」变成了「每个分局自己十秒钟跑完」。规则沉淀进工具之后,人的注意力就可以只放在那 40 条待确认上。

七、三条可以复用的经验

  1. 需求要「样例化」。 一条输入对一条期望输出,比任何形容词都准确。规则型任务尤其如此。
  2. 先做「识别异常」,再做「自动处理」。 宁可留 20 条人工确认,也不要静默改错 200 条。自动化真正的价值是让人只看该看的那部分。
  3. 交付对象决定形态。 自己用给脚本,同事用给界面,外单位用给 exe 加说明文档。同一个逻辑,三种外壳。

八、想照着做一个的话,把这段直接发给 WorkBuddy

我有一个 Excel,里面有一列电话号码,格式很乱。请帮我做一个 Windows 小工具: 1. 界面三个按钮:选择文件、开始处理、打开结果目录 2. 按以下规则清洗(规则见样例),不符合规则的不要改,单独输出到「待确认」表并注明原因 3. 输出三张表:结果、异常、汇总(总数/成功/待确认/重复) 4. 结果列必须是文本格式,保留前导 0 5. 出错时写日志文件,不要直接闪退 样例:(贴上你自己的 5 条真实数据,一条输入一条期望输出)

这个过程最像「和同事交代活」:说清规则、给个样例、告诉它能改什么不能改什么。剩下的事它可以自己跑完。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、这项任务到底长什么样
  • 二、输入材料
  • 三、WorkBuddy 配置
  • 四、操作步骤
    • 第 1 步:第一次提问就错了,错在「形容词太多」
    • 第 2 步:先让它「挑出看不懂的行」,不要硬猜
    • 第 3 步:加校验,比加功能重要
    • 第 4 步:从脚本变成工具
    • 第 5 步:打包发给分局
    • 第 6 步:再迭代一次,把规则抽出来
  • 五、排障记录(这部分我认为最值得写下来)
  • 六、产出物
  • 七、三条可以复用的经验
  • 八、想照着做一个的话,把这段直接发给 WorkBuddy
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档