上周接了个Excel批量合并的活,客户说之前找人做要3天,我用Codex 40分钟交付了。今天分享我的实战流程。
为什么选Codex而不是Cursor
先说清楚场景区别:Cursor是IDE插件,适合你自己写代码时的实时补全;Codex CLI是终端Agent,适合接单时快速出活。
接单的核心逻辑是什么?客户给需求,你出代码,交付走人。这恰恰是Codex的强项——你给它一个Prompt,它帮你拆解任务、生成代码、跑测试、提交PR,全流程自动化。
Cursor更像是「副驾驶」,你写一行它补一行;Codex更像是「自动驾驶」,你告诉它目的地,它自己开过去。
两者不冲突,日常自己写代码用Cursor效率更高,但接单用Codex真的快。
完整接单实战流程
Step 1:客户给需求
需求长这样:
"帮我把50个部门的月度报表合并成一个总表,每个部门的Excel格式都一样,都是'部门名_2026_01.xlsx'这种格式,合并后要按部门分sheet。"
你收到需求后,第一步不是直接开干,而是梳理清楚需求边界,然后写Prompt。
Step 2:我写Prompt给Codex
任务:合并多个部门的Excel文件到一个总文件
输入:
- 源文件夹:./dept_reports/
- 文件命名格式:部门名_YYYY_MM.xlsx
- 示例:销售部_2026_01.xlsx
处理逻辑:
1. 扫描源文件夹下所有.xlsx文件
2. 读取每个文件的第一个sheet(假设都有表头)
3. 在新文件里按文件名中的部门名创建sheet
4. 将数据写入对应sheet
5. 生成的合并文件命名为:月度汇总_YYYY_MM_总表.xlsx
约束:
- 保留原始数据的格式(日期、货币等)
- 如果某个sheet为空,跳过不处理
- 打印处理进度:正在处理XXX部门...
- 最后输出统计:共处理X个部门,合并X行数据
然后在终端执行:
codex --prompt "$(cat prompt.txt)" --mode full-auto
Step 3:Codex自动生成代码
Codex会自动拆解任务,生成类似这样的代码:
import os
import pandas as pd
from pathlib import Path
def merge_department_reports(source_dir: str, output_dir: str = "./output") -> dict:
source_path = Path(source_dir)
os.makedirs(output_dir, exist_ok=True)
excel_files = list(source_path.glob("*_2026_*.xlsx"))
stats = {"total_files": 0, "total_rows": 0, "departments": []}
with pd.ExcelWriter(f"{output_dir}/月度汇总_总表.xlsx", engine="openpyxl") as writer:
for file_path in excel_files:
dept_name = file_path.stem.split("_")[0]
print(f"正在处理:{dept_name}...")
try:
df = pd.read_excel(file_path)
if not df.empty:
df.to_excel(writer, sheet_name=dept_name, index=False)
stats["departments"].append(dept_name)
stats["total_rows"] += len(df)
stats["total_files"] += 1
except Exception as e:
print(f"跳过 {dept_name}:{str(e)}")
continue
print(f"\n完成!共处理 {stats['total_files']} 个部门,合并 {stats['total_rows']} 行数据")
return stats
if __name__ == "__main__":
result = merge_department_reports("./dept_reports")
Step 4:Review + 微调
Codex生成的代码基本能跑,但有几个点我会手动调整:
- 文件名正则匹配更精确,避免误匹配
- 日期格式统一,客户说日期列有时是字符串有时是日期对象
- 空文件夹处理,源目录为空时提示用户而不是报错
这些调整花了大概5分钟,因为代码框架已经有了,剩下就是修边角。
Step 5:测试运行 + 交付
正在处理:销售部...
正在处理:市场部...
正在处理:技术部...
...
完成!共处理 48 个部门,合并 12,847 行数据
交付给客户:合并好的Excel文件 + 源代码 + 10分钟语音讲解。
客户很满意,尾款秒到。
Codex CLI安装与配置速通
安装(需要Node.js 22+)
npm install -g @openai/codex
三种审批模式
| 模式 | 说明 | 适用场景 |
|---|---|---|
| suggest | 每一步都让你确认 | 刚上手时 |
| auto-edit | 读取自动,写操作需确认 | 有一定把握 |
| full-auto | 全自动执行 | 你完全理解代码要做什么 |
接单场景建议用 full-auto,前提是Prompt够清晰。
国内用户配置中转
export OPENAI_API_BASE="https://api.ofox.ai/v1"
export OPENAI_API_KEY="your-api-key"
ChatGPT Plus用户($20/月)可以直接用,不需要额外付费。
我常用的3个Codex Prompt模板
模板1:Excel自动化脚本
写一个Python脚本实现:
1. 读取指定目录下的所有CSV文件
2. 清洗数据(去除空行、统一日期格式)
3. 按指定列聚合计算(求和/均值)
4. 输出到新的Excel文件,带透视表
输入目录:./data/
输出文件:./result/汇总.xlsx
聚合维度:部门
计算指标:销售额(求和)、订单数(计数)
模板2:爬虫脚本
写一个Python爬虫:
- 目标网站:某电商平台的商品搜索页
- 抓取内容:商品名称、价格、销量、评分
- 翻页逻辑:抓取前10页
- 数据存储:保存为CSV
要求:使用requests + BeautifulSoup,添加请求间隔(2秒)
模板3:数据处理管道
写一个数据处理管道:
1. 从MySQL数据库读取订单表
2. 关联用户表获取用户信息
3. 计算每个用户的总消费金额、下单次数、平均客单价
4. 生成用户画像CSV,按消费金额降序排列
数据库连接参数通过config.ini读取,不要硬编码
写在最后
AI编程工具不是替代你,是放大你。Codex能帮你快速出活,但它不懂你的客户、不理解业务细节、不擅长人情世故——这些还得靠你。
有Excel自动化、爬虫、数据处理需求的朋友,可以闲鱼搜「牛马程序猿阿方」,备注"技术咨询"。