7 数据处理实践
使用 Claude Code 进行数据处理或更复杂的任务时,推荐采用”先计划、后执行”的工作模式。这样可以避免 AI 在模糊指令下浪费大量时间探索数据结构,也能让你在执行前审阅和调整方案。
7.1 整体流程
数据处理的标准流程分为三个阶段:
Step 1:在 CLAUDE.md 中明确项目约定
↓
Step 2:打开 plan mode,说明任务需求
↓
Step 3:确认计划,开始执行
7.2 Step 1:在 CLAUDE.md 中明确项目约定
在开始数据处理之前,先在 CLAUDE.md 中写明你的工作习惯和希望 AI 工作的方式。这一步非常重要,它决定了 AI 后续所有操作的基本规范。
以下是一个适合数据处理项目的 CLAUDE.md 示例:
## Stata 数据处理规范
- 通过 Stata-mcp 调用 Stata,不要用命令行。
- 原始数据在 `data/raw/` 目录下,不要修改或覆盖
- 清洗过程中以及清洗后的数据存入 `data/processed/`
- 代码放在 `code/`
- 说明文档放在 `file/`
- Stata MCP 运行在 Windows 端,必须使用 Windows 路径格式(`C:/Users/...`),
不能用 WSL 的 `/mnt/c/...` 格式,否则报 `r(601) file not found`可以在 AI 执行完任务后,问它刚刚有没有遇到问题或报错。然后让它总结经验,写进 CLAUDE.md 里面。随着使用,CLAUDE.md 会不断完善,AI 的工作效率和准确度也会逐步提升。
7.3 Step 2:打开 plan mode,说明任务需求
在 Claude Code 中使用 plan mode 输入任务需求。好的 prompt 应该包含:
- 用什么工具(Stata、Python 等)
- 有哪些步骤(清洗、合并、计算等)
- 最后要输出什么(.do 文件、.dta 数据、.md 文档)
- 自己对需求不确定的地方也可以写明,让 AI 帮你完善
7.3.1 示例 prompt
【data/】里面是实证金融研究用的 A 股上市公司数据,需要清洗合并后计算常用控制变量(Size、Age、Lev、Growth、ROA),对这些指标进行描述性统计。用 stata 完成。
注意事项:删除金融行业(行业代码J*)、计算出的指标要缩尾
- 我不确定具体要执行哪些数据清洗操作,需要你结合数据结构和数据处理的惯例判断
最后输出三个文件:处理数据的.do文档;处理后数据集.dta文件;数据处理工作小结.md文档(包含数据处理操作和最后的描述性统计结果)
一些常规的数据处理操作(例如缩尾),即使不写,AI 有时候也会自己判断出需要执行,但结果不稳定。建议在 prompt 中尽量明确你的需求,至少列出关键注意事项。
7.3.2 AI 的工作过程
收到 prompt 后,AI 通常会:
- 探索数据结构 — 读取数据的说明文件(如 CSMAR 的
.txt文档),导入少量样本行确认 - 识别关键信息 — 变量名、数据类型、频率、标识符格式等
- 生成计划书 — 包含每一步的具体操作,具体到 Stata 命令级别
例如,AI 可能识别出需要统一的变量名:
Symbol→Stkcd(股票代码在不同数据集中的名称不同)EndDate→Accper(报告期的变量名不同)- 金额以字符串存储(如
"19802000000.00"),需要转为数值
7.4 Step 3:确认计划并执行
修改计划书有两种方式: 1. 小幅修改,直接在对话的选项 “No” 后面输入要修改的的内容 2. 大幅修改,在对话的选项 “No” 后面让 AI 把计划书保存为 .md 文档,然后再修改这份文档。
确认计划书后,可以逐步执行或一次执行:
7.4.1 逐步执行
按照计划书,先生成第一部分(预处理)的 .do 文件并运行。
适合:对计划不太确定,想逐步检查。
7.4.2 一次执行
按照计划书全部执行,每步运行完检查 .log 确认无错误后再继续下一步。
适合:对计划比较有信心,想提高效率。
7.5 常见陷阱
直接在 plan mode 输入模糊的指令(如”对数据做一些清洗”),AI 可能需要花很长时间探索数据结构。例如,一次模糊指令导致 AI 的 Explore 阶段运行了 21 分钟。而如果向 AI 说明,“不要扫描全部数据,迅速探索数据结构”,或者,“用 Stata 探索数据结构,不要用终端命令” 也能节省时间。
下一章将通过一个完整的实战案例,演示这个工作流的具体应用。