我用Codex接Python自动化单,从接需求到交付代码只用了40分钟

0 阅读3分钟

上周接了个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生成的代码基本能跑,但有几个点我会手动调整:

  1. 文件名正则匹配更精确,避免误匹配
  2. 日期格式统一,客户说日期列有时是字符串有时是日期对象
  3. 空文件夹处理,源目录为空时提示用户而不是报错

这些调整花了大概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自动化、爬虫、数据处理需求的朋友,可以闲鱼搜「牛马程序猿阿方」,备注"技术咨询"。