14.1 办公族的"重复地狱"
如果你的工作离不开 Excel、PDF、邮件、文件归档,你大概有过这种感觉:
- 同一份报表,每周做一次
- 同一类 PDF,每月归档一次
- 同一种邮件,每天回十封
- 同一类文件,按日期、类型分一遍
- 同一份对账,每月底关账时核一遍
这不是"工作",这是"重复劳动"。重复劳动消耗的不是脑力,是耐心。耐心耗光了,你就开始厌倦工作。
这一章讲怎么用 Codex 把这些重复劳动一次性 Skill 化 + Automation 化,从此把心力留给真正需要思考的事。
14.2 Excel 数据清洗
典型场景
老板甩来一份"销售数据"Excel,让你"看看哪些客户今年增长最快"。打开一看:
- "区域"列里有"华东"、"East"、"east"、"华东区"四种写法
- "金额"列有"1.2 万"、"12000"、"12,000.00"三种格式
- "日期"列有"2025-01-15"、"2025/1/15"、"2025年1月15日"
光是清洗就要花两小时。
Codex 怎么做
读取 sales-2025.xlsx,做以下清洗:
1. "区域"列:把"华东/East/east/华东区"统一成"华东",
"华南/South/south"统一成"华南",以此类推
2. "金额"列:把所有写法转成数字("1.2 万" = 12000),
保留两位小数
3. "日期"列:统一成 YYYY-MM-DD 格式
4. 删除完全重复的行
5. "客户名"列里有空白的,整行标记到 issues.csv,让我手动处理
输出 sales-2025-clean.xlsx 和 issues.csv 两个文件。
完成后告诉我清洗了多少行、删除了多少重复、issues 有多少条。
Codex 用 Python 的 pandas 跑一遍,3 分钟给你三件东西:
sales-2025-clean.xlsx:干净的数据issues.csv:需要你处理的脏数据- 一段统计报告
Skill 化
如果"清洗销售数据"是你每月固定动作,把它做成 Skill:
---
name: 销售数据清洗
description: 把销售 Excel 中区域、金额、日期等列统一格式,分离脏数据
keywords: [数据清洗, 销售数据, Excel 清洗, sales clean]
---
## 步骤
1. 区域映射(按 references/region-map.md)
2. 金额标准化("X 万" → 数字)
3. 日期标准化(→ YYYY-MM-DD)
4. 重复行去重
5. 缺失关键字段的行隔离到 issues.csv
## 输出
- {原文件名}-clean.xlsx
- issues.csv
- 一段统计报告
下次老板再发数据来:
对这个 sales-2025-Q4.xlsx 做销售数据清洗
3 分钟出结果,省下 1 小时 57 分钟。
14.3 PDF 批量提取
典型场景:发票汇总
财务月底关账,要把这个月所有报销发票(200+ 张 PDF)汇总成一份 Excel:每张提取金额、开票方、税号、发票号。
人工做 = 一整天。
Codex 怎么做
读取 invoices/2026-04/ 下所有 PDF,
对每张提取:金额、开票方、税号、发票号、开票日期。
存到 invoices-2026-04.xlsx,最后一行是"金额合计"(用公式 =SUM(...))。
如果某张提取失败(PDF 是图片版需要 OCR),列到 failed.txt 让我手动处理。
完成后给我汇总报告。
Codex 装一下 pdfplumber(请求授权时批准),跑一遍,5 分钟出结果。
复杂版:带分类
读取 invoices/ 下所有 PDF(不限月份),
按"开票月份 + 类别"分类:
- 类别从内容判断:"餐饮"、"交通"、"办公用品"、"差旅"、"其他"
输出:
- invoices-summary.xlsx:每张发票一行 + 分类标签
- by-month.xlsx:按月份分 sheet,每个 sheet 内按类别小计
- by-category.xlsx:按类别分 sheet
Skill 化
---
name: 发票批量提取
description: 从 PDF 发票文件夹中提取金额、税号、开票方等关键信息,汇总到 Excel
keywords: [发票, 报销, PDF 提取, invoice]
---
每月跑一次,账总能在 1 小时内关完。
14.4 文件归档与目录整理
典型场景:下载文件夹大爆炸
~/Downloads/ 里 800 个文件,2 年没整理。每次找一个文件都要花 10 分钟。
Codex 怎么做(保守版)
扫描 ~/Downloads/,按以下规则归档:
1. 按"创建年月"建文件夹:~/Archive/2024/01/、2024/02/...
2. 按"文件类型"建子文件夹:documents/、images/、archives/、apps/、others/
3. 移动文件到对应位置(不改名)
4. 跳过最近 7 天创建的文件(可能还在用)
5. 大于 100MB 的文件单独列到 large-files.txt 让我决定
完成后给我归档报告,并保留 ~/Downloads/ 顶层只剩"未归档"的最近 7 天文件。
Codex 把 800 个文件按 年/月/类型 分类,10 分钟搞定。下载文件夹瞬间清爽。
进阶版:智能归类
扫描 ~/Documents/ 下所有 PDF:
按"内容类型"自动分类:
- 合同 → contracts/
- 发票 → invoices/
- 学习资料 → learning/
- 简历 → resumes/
- 论文 → papers/
- 其他 → misc/
判断依据:文件名 + 文件内容前 500 字。
分不清的归 misc/ 并列在 unclassified.txt,让我手动确认。
不要删除任何文件,只移动。完成后给报告。
这种"理解文件内容再分类"的活,传统脚本做不到,AI 才行。
Automation:每周自动整理
设一个 Automation:每周日晚上 9 点自动跑"下载文件夹归档"。星期一早上你打开电脑,桌面是干净的。
14.5 邮件草稿与回复
典型场景:通知邮件
每月给 200 个客户发"账单已生成"通知邮件,内容大同小异,但金额、日期、客户名要每封不同。
Codex 怎么做
准备:
customers.xlsx:客户名、邮箱、本月金额template.md:邮件模板(带占位符)
<!-- template.md -->
主题:{月份}账单 - {客户名}
{客户名}:
您好。本期账单已生成:
- 账期:{月份}({周期})
- 金额:¥{金额}
- 截止:{截止日期}
附件为详细账单 PDF,请查阅。如有疑问,请回复本邮件或联系您的客户经理。
财务部
{公司名}
指令:
读取 customers.xlsx 和 template.md,
为每个客户生成一封邮件正文,输出到 emails/ 文件夹,
文件名:{客户名}.txt
不要发送,只生成草稿。完成后告诉我生成了多少封。
200 封邮件 5 分钟生成。你抽查 5 封确认无误,然后批量发送(或导入到 Outlook 邮件列表)。
进阶:智能回复
对收到的邮件做智能回复:
读取 inbox.mbox 里今天的所有未读邮件。
对每封邮件做以下处理:
1. 判断"是否需要回复":广告、系统通知、群发不需要
2. 对需要回复的:
- 判断紧急程度:今日 / 本周 / 本月
- 起草回复(不发送)
3. 输出 reply-drafts/ 下,文件名:{邮件主题}.md
最后给我一个汇总:今天 X 封新邮件,Y 封需要回复,Z 封紧急。
每天早上 5 分钟过一遍,比手动看 100 封邮件快 10 倍。
14.6 报表自动化
典型场景:销售周报
每周一 9 点全公司大会,需要一份"上周销售战报"PPT:
- 周销售额 vs 上周
- TOP 10 客户
- TOP 5 产品
- 区域分布饼图
- 同比增长率
Codex 怎么做
读取 sales-2026.xlsx,生成上周销售战报:
1. 计算上周(周一到周日)的销售总额,跟前一周比较
2. 列出 TOP 10 客户(按上周销售额)
3. 列出 TOP 5 产品(按上周销售数量)
4. 生成 4 张图:
- 周销售趋势(最近 8 周折线图)
- TOP 10 客户柱状图
- TOP 5 产品柱状图
- 区域销售饼图
5. 把所有图保存到 charts/,文件名 chart-1.png 到 chart-4.png
6. 生成 weekly-sales-report.md,包含数字和对图的引用
明天我要在 PPT 里用这些图和数据。
Codex 用 pandas + matplotlib 跑一遍,10 分钟给你 4 张图 + 一份 Markdown 报告。
Skill 化 + Automation
把这个流程做成 weekly-sales Skill。设定每周一早上 7:00 自动跑。9:00 开会前,PPT 已经在等你了。
14.7 跨表关联与数据分析
典型场景:客户分析
你有:
orders.xlsx:订单数据,5000 行customers.xlsx:客户档案,500 行products.xlsx:产品信息,100 行
老板问:"给我最近 30 天,下单超过 3 次的女性客户清单,按消费额排序。"
Codex 怎么做
读取 orders.xlsx、customers.xlsx、products.xlsx:
1. 关联:orders.customer_id → customers.id
2. 筛选:order_date 在最近 30 天内
3. 聚合:每个客户的订单数和总金额
4. 过滤:订单数 ≥ 3
5. 再过滤:customers.gender = "女"
6. 排序:按总金额降序
7. 输出 top-female-customers.xlsx,包含:
姓名、手机号、订单数、总金额、最近一次下单日期
不需要分析,只要数据。
不用写 SQL、不用 VLOOKUP、不用 Pivot Table。3 分钟出结果。
进阶:自然语言查询
你甚至可以这样问:
我想知道"上个月华东地区下单金额超过 1 万的女性客户里,
有多少买了 A 类产品"
Codex 自己理解你的问题,自己关联表,自己出答案。这是 Excel 永远做不到的事。
14.8 网页数据抓取
典型场景:竞品价格监控
竞品有 5 款主推产品,你需要每天看一遍他们官网的价格、是否在搞促销。
Codex 怎么做(用 In-App Browser)
访问 https://competitor.com/products,
对页面上每款产品提取:
- 产品名
- 当前价格
- 是否有"促销"/"限时"标签
- 库存状态
输出到 competitor-prices-YYYY-MM-DD.csv。
如果今天的价格跟 yesterday-prices.csv 有差异,
单独列在 changes.txt。
设个 Automation 每天 9:00 跑。如果有价格变动,自动发飞书提醒。
注意
抓取要遵守网站的 robots.txt 和服务条款。仅用于公开信息、低频访问、自用分析。要是高频商业抓取,请用专业的合作或 API。
14.9 文档转换
各种"格式互转"
把 ~/Documents/papers/ 里所有 PDF 转成 Markdown,
保留章节结构和图片引用。
输出到 ~/Documents/papers-md/。
把 minutes.docx 转成 Markdown,
表格保留为 Markdown 表格格式。
把 slides.pptx 的内容提取成大纲,
每张幻灯片一个二级标题,重点项用 bullet。
把 video.mp4 转写成文字,
按发言人分段,每段加时间戳。
各种"格式 A → 格式 B"的事,Codex 都能做。它会装合适的工具(Pandoc、whisper、pdfplumber 等),跑出结果。
14.10 一份"办公自动化工作台"
集中管理:
~/codex-workspace/office/
├── AGENTS.md # 全局规则
├── .codex/skills/
│ ├── excel-clean/
│ ├── invoice-extract/
│ ├── file-archive/
│ ├── email-draft/
│ ├── weekly-sales/
│ └── customer-analysis/
├── data/ # 输入数据(不提交 git)
├── reports/ # 输出报告
├── archives/ # 历史归档
└── templates/ # 各类模板
├── email-template.md
├── report-template.md
└── invoice-template.md
AGENTS.md(办公自动化版):
# 办公自动化工作台
## 数据安全
- data/ 下的所有文件不要外传
- data/ 不在 git 跟踪范围(已 .gitignore)
- 不要把客户姓名、手机号、身份证写到 reports/ 之外
## 输出规范
- 报告统一放 reports/,命名 YYYY-MM-DD-类型.md
- Excel 输出统一放 reports/excel/
- 图表统一放 reports/charts/
## 工具依赖
- Python 3.12(系统装的)
- 需要的库:pandas, openpyxl, pdfplumber, matplotlib
- 需要的工具:pandoc
## Always
- 任何"清洗"操作都生成新文件,不覆盖原始
- 大数据集(>10 万行)先抽 1% 试跑
## Ask First
- 删除任何文件
- 跨文件夹移动文件
- 调用付费 API(OCR、翻译等)
## Never
- 不要直接修改 data/ 下的原始文件
- 不要把数据上传到非 OpenAI 的第三方服务
- 不要在输出中包含客户的全名 + 手机号组合(脱敏:手机号显示 138****5678)
14.11 一个常被忽视的好处:可重复
人手做的报表,每个人有自己的"风格"——同事 A 和同事 B 做出来不一样。新人接手要重新摸索。
Skill 化的报表,永远一致。无论是你做、同事做、半年后的新人做,结果都是一份格式、一种风格、同样的数据精度。
这种"可重复性"对企业级应用价值巨大:
- 月报年报始终一个模子
- 跨团队对账有统一标准
- 审计时可以追溯到具体步骤
- 新人入职 1 天就能产出合格的标准报表
14.12 本章小结
- 办公自动化的核心:把"重复地狱"Skill 化 + Automation 化
- 7 个高价值场景:Excel 清洗、PDF 提取、文件归档、邮件、报表、跨表分析、网页抓取
- 工具组合:Codex + pandas + pdfplumber + matplotlib + In-App Browser
- 搭一个"办公自动化工作台",集中规范
- 数据安全是底线:脱敏、不外传、原始数据只读
- 价值不只是省时间,还有"可重复性"
下一章给非编程出身但想"做个小工具"的人:第十五章 · 自学编程与小工具。