手里一个 CSV、一个问题,不想为它单独开 Jupyter notebook。ChatGPT 会在沙箱里对你上传的文件真跑 Python、画图,还能把用到的代码摊给你看——但结果好不好,全看你怎么问。这篇是入门工作流:传一个文件、先给列做画像、一次只问一张图,再用三个 sanity check 拦住大多数烂结果,免得它们直接进了你的汇报 PPT。
一句话版
- ChatGPT 的数据分析(以前叫 “Advanced Data Analysis” / “Code Interpreter”)会在沙箱里对你上传的文件跑 Python,支持 CSV、XLSX、JSON、PDF。
- 截至 2026 年 6 月,它跑在 GPT-5.5 上——这是 4 月底以来的默认模型。选择器里的 Instant / Thinking / Pro 决定它花多少推理。
- 免费、Go、Plus、Pro、Business、Enterprise 全都能上传文件并跑代码。 免费档每天限 3 次上传、单文件 25MB;付费档大约是每滚动 3 小时 80 个文件。
- 表格最好控制在 ~50MB 以内。单文件硬上限是 512MB,但大文件解析慢、会超时,或者被静默采样。
- 杠杆最大的一个习惯:分析前先给每个文件做画像。 烂图大半源自某一列的类型被读错了。
这个功能到底干什么
你一传文件,ChatGPT 就起一个隔离的 Python 沙箱(预装 pandas、numpy、matplotlib),针对你的数据写代码、跑、把输出和图一起返回。你可以让它把代码摊出来、把图存成 PNG,或者导出清洗后的 CSV。这跟把数字粘进对话框完全不同:粘进来的数据模型只是”推理”,而上传的文件是真被 Python “算”过的,所以那些总数是算术,不是猜的。
三个词先钉死:
- 沙箱:绑在这个对话上的临时 Python 环境。没有联网,会话闲置后过期。走之前把要的东西都导出来。
- 数据画像:列名、类型、行数、空值的一次性摘要。永远是第一条消息,永远不是分析。
- 选择器:随手出张图用 GPT-5.5 Instant 就够;聚合逻辑微妙时(滑动窗口指标、跨 sheet join、去重)切到 Thinking。
适合谁,什么时候该回 notebook
适合偶尔碰 CSV 或 XLSX 的人——运营、PM、创始人、学生,不是全职分析师。如果你每天泡在 notebook 里,本文会觉得慢。
下面这些情况用 ChatGPT 很合适:一次性、小文件的小问题,“上个月各渠道的转化率?""画每天注册数""找 revenue 为空的行”。但只要碰上下面任意一条,就切回真 notebook(或 BigQuery、或本地 pandas):
| 情况 | 为什么 ChatGPT 不合适 |
|---|---|
| 文件超过几十万行 | 解析慢、超时,或被静默采样 |
| 带 PII 或财务数据、不能上传 | 文件会离开你的机器、传到 OpenAI |
| 需要按计划一模一样地重跑 | 沙箱是一次性的、不可复现 |
| 别人要复现出完全相同的结果 | 没有版本控制、没有固定环境 |
当前限制(截至 2026 年 6 月)
| 限制 | 数值 |
|---|---|
| 单文件硬上限 | 512MB |
| 表格实用上限 | ~50MB,再大解析就变慢或采样 |
| 免费档单文件大小 | 每个 25MB |
| 免费档上传次数 | 每天 3 次 |
| 付费档上传次数 | 每滚动 3 小时约 80 个文件 |
| 文本/文档 token 上限 | 每文件 200 万 token(表格不受此限) |
| 单用户存储 | 25GB |
| 默认模型 | GPT-5.5(Instant / Thinking / Pro 选择器) |
过去那句”免费档只能推理、不能执行”已经不成立了——免费账号能上传也能跑分析,只是每天配额很紧。如果你一周不止做几次,Plus($20/月)或 Go($8/月)能去掉这层摩擦。
开始前准备
- 存一份干净的小副本:删无关 sheet、脱敏、控制在 ~50MB 以内。
- 打开 ChatGPT 前,用一句话写清你的具体问题。模糊上传只会换来模糊的段落。
- 心里要有粗略答案。如果你的口算和图差 10 倍,错的是图,不是你的直觉。
具体步骤
- 开新对话,传一个文件。 等文件标签显示 “ready”。一个问题配一个文件,能让沙箱状态保持干净。
- 第一条消息永远是画像,不是分析。 问:
描述每一列:数据类型、三个样例值、空值数、总行数。仔细读。类型判断错就在这一步现形。 - 问一个具体的画图问题。
在 channel = paid 的行里,画 revenue 的分布。一次一张;一口气问多张会让你分不清哪段代码出了哪个数。 - 每张图之后,要么要代码、要么要总数。
按 channel 分组打印 revenue 的 sum,跟上面那张图对得上吗?这就是你的审计链。 - 对比时,把坐标轴直接给它。
画 signups 随时间、按 country 分组的折线图,只看近 90 天。你指定得越细,它猜得越少。 - 离开前先导出。 把清洗后的 CSV 和图的 PNG 都存下来。沙箱过期,工作就一起没了。
跑得通的 prompt
复制下面这些,把列名换成你自己的。
描述每一列。标出哪些像日期、数字、类别。
空值率超过 5% 的列单独 flag。
用 created_at 按月分组,每组对 revenue 求 sum。
用表格返回,不要图。
画近 30 天的日活。X 轴 = 日期,Y 轴 = 数量。
标注最高和最低的两天。
找出 status = 'failed' 且 amount > 100 的行。
抽 10 行展示,再给出匹配总数。
15 分钟第一次实操
- 选一个你手边现成的真实 CSV——10MB 以内、没 PII。
- 先做画像(上面第 2 步)。一行一行读列摘要。
- 问一个具体的画图问题,然后要 Python 代码。
- 抽一个关键数字,回原始文件核对。用 Excel 打开,或在终端跑
wc -l加一个快速筛选。对得上,这张图就可信;对不上,先搞清原因,再决定用不用。
每次分析都要做的三个 sanity check
这三条能拦住绝大多数静默失败:
- 行数。 画像里的总行数和你预期的一致吗?传错文件(或传了个采样子集)是第一大静默错误。
- 列类型。 数字是按数字解析的吗?revenue 列被当成文本,聚合会算得有模有样却完全错。
- 可追溯。 每个关键数字,你能指出是哪一行 Python 算的吗?看不到代码,就别信那个数。
容易踩的坑
- 传超过 ~50MB 的文件还以为整份都读了。大表格会被静默采样。
- 跳过画像,分析错了列自己也没发现。
- 不看坐标轴和刻度就采纳图。对数坐标看着像那么回事,照样误导人。
- 问”给我洞察”而不是一个具体问题。泛 prompt 进,泛段落出。
- 不处理空值和重复值。明确问:
这次聚合里空值是怎么处理的? - 关对话前没导出。沙箱过期,无从恢复。
FAQ
- ChatGPT 是真对我的文件跑代码,还是靠猜?: 它在沙箱里对上传文件真跑 Python,聚合是算术算出来的。你粘进对话框的数字只是被推理,可能出错。
- 2026 年免费档能用吗?: 能。免费账号可以上传文件、跑分析,上限是每天 3 次上传、单文件 25MB。付费档(Go、Plus、Pro)放宽到每 3 小时约 80 个文件。
- 跨对话会记住我的数据吗?: 不会。每个对话都是全新沙箱,无联网、无延续。Projects 能让你的”指令”持久,但不持久你上传的数据。
- 文件 500MB 怎么办?: 没超 512MB 硬上限,但解析会很慢或被采样。先在本地缩小,或者这么大的就直接上 notebook。
- 多 sheet 的 Excel 工作簿能处理吗?: 能,但要明确指定 sheet——
用名为 Q2_2026 的 sheet。默认它选第一个,常常不是你要的那个。 - 结果能下载吗?: 能。让它把图给成 PNG、把清洗后的数据给成 CSV。也可以让它把 Python 打印出来,下个月你自己重跑,不用再耗一次会话。