通过加载 CSV/JSON 到 SQLite 来分析
何时使用: 有人发给你一个包含 20 万行的 CSV 文件,问题是「哪个分段转化率最高?」——太大了不适合用电子表格,太小了不值得用真正的数据库。
前置条件
- 磁盘上的源文件 — 保存为工作文件夹下的 .csv 或 .json
- 一个空的 SQLite 文件路径 — 选择一个位置如 /tmp/analysis.db;MCP 会创建它
步骤
-
创建表并加载数据在 /tmp/analysis.db 中创建一个
signups表,匹配 /data/signups.csv 的列结构。加载所有行。告诉我行数。✓ 已复制→ 表已创建,行数与文件匹配 -
探索 schema存在哪些列?对每一列,值的分布是什么(分类列的前 5 个不同值;数值列的最小/最大/平均值)?✓ 已复制→ 每列的统计概览
-
回答实际问题按 signup_source 分组。对每个分组计算:总注册数、转化率(completed_onboarding=true 的数量 / 总数)。按转化率排序。✓ 已复制→ 能用于决策的表格,带上 SQL 展示
结果: 5 分钟内得到可辩护的答案,并获得一个 .db 文件供后续重复查询。
注意事项
- CSV 列自动类型推断错误(数字被识别为 TEXT) — 加载后,运行
PRAGMA table_info(signups)并用 CAST 转换或用显式类型重建列 - 日期字符串作为 TEXT 不能正确排序/比较 — 使用 ISO 8601 格式(YYYY-MM-DDTHH:MM:SSZ)存储日期,这样字典序等同于时间序;或用
julianday()进行计算