AI 格式转换:CSV/JSON 互转 prompt 模板
AI 格式转换教程:用一句话让 AI 把 CSV 转 JSON、Excel 转 JSON、JSON 拍平成 CSV,含 6 个真实场景 prompt 模板、嵌套对象处理思路和编码乱码兜底方案
你做前端,后端给了一份 200 行的 CSV,让你”转成 JSON 喂给 API”。你做运营,技术给了一份 JSON 接口返回,让你”导成 Excel 给老板看”。你做数据,要把 50 个嵌套对象的 JSON 拍平成表格做透视。这三种活儿手写代码能写半小时,让 AI 格式转换 30 秒搞定。
CSV / JSON / Excel 三种格式之间的互转,本质是”结构映射”——AI 最擅长这种活。Anthropic 官方有一个叫 CSV Converter 的 prompt 模板,本文把它改写成中文版,再加 6 个真实场景示例 + 嵌套结构 / 中文乱码两个进阶坑。
为什么不直接用 Excel 自带的”另存为”
Excel 自带 3 个转换功能,3 个都有坑:
- 「另存为 CSV」:默认 GBK 编码,中文字段在很多 API 里乱码
- 「数据 - 自 JSON」:导入嵌套 JSON 自动拆,但拆出来不一定是你想要的列
- 没有「另存为 JSON」:Excel 原生不能直接导出 JSON
AI 帮你做这事的 3 个优势:
- 自定义嵌套规则:你说”客户信息要嵌套成 customer 子对象”,AI 直接给你结构
- 批量字段重命名:A 列在 CSV 叫”姓名”,到 JSON 里要叫 “userName”,AI 一句话改
- 过滤 / 转换:导出时去掉敏感列、把日期格式从 “2026/5/17” 转成 ISO 8601,一步到位
用哪个工具
| 工具 | CSV 转 JSON | JSON 转 Excel | 嵌套结构 | 国内可用 |
|---|---|---|---|---|
| Claude | 优秀 | 优秀 | 优秀 | 需代理 |
| ChatGPT GPT-5 | 优秀 | 优秀 | 优秀 | 需代理 |
| 豆包 / Kimi | 良好 | 良好 | 中 | 直接可用 |
| WPS AI | 良好 | 良好 | 中 | 直接可用 |
| 在线工具(csvjson.com 等) | 优秀 | 优秀 | 中 | 直接可用 |
如果数据量在 1000 行以内,AI 单次能搞定。超过 5000 行让 AI 给一段 Python / JavaScript 脚本 本地跑更靠谱。
万能 prompt:CSV/JSON 互转专家
下面这段套到任何 AI 都能用:
你是一位资深数据转换专家,擅长在 CSV、JSON、Excel、TSV、XML、YAML 之间互转。
我的需求:
- 源格式:[CSV / JSON / Excel / TSV / …]
- 目标格式:[CSV / JSON / Excel / TSV / …]
- 转换规则:[字段映射 / 嵌套结构 / 字段过滤 / 格式转换]
- 数据规模:[行数 / 字段数]
源数据: ``` [在这里粘贴源数据,CSV 直接贴文本,JSON 贴对象] ```
期望结构: [描述目标格式的字段名、嵌套层级、数据类型]
特殊要求:
- 字符编码:[UTF-8 / GBK]
- 日期格式:[ISO 8601 / yyyy-MM-dd / 时间戳]
- 数字格式:[保留几位小数 / 是否带千分位]
- 空值处理:[null / 空字符串 / 删除字段]
- 字段重命名:[源字段名 → 目标字段名]
请按以下格式输出:
转换后的数据
[直接贴转换后的完整结果]
转换说明
[列出每个字段如何映射、做了哪些处理]
验证样例
[给 1-2 行源数据 + 对应的目标数据,方便我手动核对]
如果数据规模超过 1000 行
[给一段 Python 或 Node.js 脚本,能本地跑相同的转换]
下面 6 个场景示范怎么填。
6 个真实场景示例
场景 1:CSV 转 JSON(最常见)
源数据:
id,name,email,city
1,张三,[email protected],北京
2,李四,[email protected],上海
发给 AI 让它转 JSON,得到:
[
{ "id": 1, "name": "张三", "email": "[email protected]", "city": "北京" },
{ "id": 2, "name": "李四", "email": "[email protected]", "city": "上海" }
]
字段名、数据类型 AI 自动判断(id 是数字、name 是字符串)。
场景 2:CSV 转嵌套 JSON
需求:把扁平 CSV 转成有嵌套结构的 JSON。
源 CSV:
user_id,user_name,addr_city,addr_street,addr_zip
1,张三,北京,长安街 1 号,100001
期望 JSON(addr 字段嵌套):
[
{
"userId": 1,
"userName": "张三",
"address": {
"city": "北京",
"street": "长安街 1 号",
"zip": "100001"
}
}
]
prompt 里写「按 addr_ 前缀的字段嵌套成 address 子对象,并把 snake_case 转 camelCase」,AI 一次给完。
场景 3:JSON 拍平成 CSV/Excel
源 JSON:
[
{
"userId": 1,
"userName": "张三",
"orders": [
{ "orderId": "A001", "amount": 100 },
{ "orderId": "A002", "amount": 200 }
]
}
]
拍平规则:每个订单一行,重复用户信息。
userId,userName,orderId,amount
1,张三,A001,100
1,张三,A002,200
prompt 里说”按 orders 数组展开,每个订单一行,外层字段重复”,AI 直接给。
场景 4:CSV 转 SQL INSERT
需求:CSV 数据要导入数据库,转成 SQL INSERT 语句。
INSERT INTO users (id, name, email, city) VALUES
(1, '张三', '[email protected]', '北京'),
(2, '李四', '[email protected]', '上海');
prompt 里说”转成 MySQL INSERT 语句,表名 users,字符串字段用单引号包”,AI 给完整 SQL。1000 行 INSERT 一次性出。
场景 5:JSON 转 YAML(配置文件)
源 JSON:
{
"server": { "host": "localhost", "port": 8080 },
"db": { "user": "admin", "password": "***" }
}
转 YAML:
server:
host: localhost
port: 8080
db:
user: admin
password: '***'
适合给 K8s / GitHub Actions 配置文件做迁移。
场景 6:CSV 转 Markdown 表格(写文档用)
把 CSV 直接转成 Markdown 表格,做技术文档 / 周报 / README 必备:
| id | name | email | city |
|---|---|---|---|
| 1 | 张三 | [email protected] | 北京 |
| 2 | 李四 | [email protected] | 上海 |
写周报时,把 Excel 数据贴给 AI,秒转 Markdown 表格粘进飞书。
手把手 4 步走
第 1 步:把源数据准备好
3 种粘法:
- CSV 文本:直接复制 Excel 一片区域粘到 prompt 里(Excel 复制后是 Tab 分隔的 TSV,AI 也认)
- JSON 对象:从 Postman / 浏览器 DevTools 复制 JSON
- 截图:截屏粘给 Claude / GPT 也能识别,准确率 90%
第 2 步:描述目标格式
越具体越好:
- 目标格式(JSON / Excel / YAML)
- 字段重命名规则(user_id → userId)
- 嵌套规则(addr_ 前缀嵌套到 address)
- 特殊处理(空值转 null、日期转 ISO、敏感字段删除)
第 3 步:拿到结果先小数据验证
3-5 行小数据先转,眼睛核对前后字段是不是对得上。对了再扩到全量。
第 4 步:超过 1000 行让 AI 给脚本
AI 单次输出有上下文上限(通常 500-1000 行的 JSON 就到顶)。超过 1000 行直接让 AI 写一段 Python / Node.js 脚本:
import csv, json
with open('input.csv', encoding='utf-8') as f:
rows = list(csv.DictReader(f))
result = [
{
'userId': int(r['user_id']),
'userName': r['user_name'],
'address': {
'city': r['addr_city'],
'street': r['addr_street'],
}
}
for r in rows
]
with open('output.json', 'w', encoding='utf-8') as f:
json.dump(result, f, ensure_ascii=False, indent=2)
本地跑 5 秒搞定 10 万行。
5 个让 AI 转换更稳的技巧
技巧 1:贴 2-3 行最有代表性的样本
不要贴 100 行——浪费 token 还容易让 AI 漏字段。贴 2-3 行最典型的(含正常 + 异常 + 边界)就够。
技巧 2:明确”目标字段名”
不要让 AI “自由发挥”字段名。在 prompt 里写:「目标 JSON 字段必须是 userId / userName / email / cityName」,AI 不会乱命名。
技巧 3:单独说明”嵌套规则”
嵌套结构是最容易出错的。建议单独列一段「嵌套规则」明确:
- 哪些字段要嵌套成子对象
- 哪些字段要拆成数组
- 哪些字段要保持扁平
技巧 4:把”日期 / 数字 / 布尔”格式写清楚
CSV 里全是字符串,转 JSON 时要不要变成数字 / 日期 / 布尔?写清楚:
- “true” / “false” 转布尔
- “2026-05-17” 转日期对象(或保持字符串)
- “100” 转数字(或保持字符串)
技巧 5:要求”输出格式校验”
让 AI 在转换后跑一遍 JSON.parse / CSV 解析验证,确保输出能被机器解析。不然贴到 API 报 SyntaxError 又要回去调。
一个常见失败案例 + 怎么救
失败场景:CSV 里有”姓名”列含逗号(如”张三, 张三丰”),直接转 JSON 时 AI 把它拆成 2 个字段。
救援步骤:
- 告诉 AI 数据特征:「字段值里可能含逗号」
- 要求”严格按表头分列”:明确”用第一行表头数列数,遇到逗号但不是分列符的要识别”
- 改用 TSV 中间格式:Excel 复制是 Tab 分隔,让 AI 按 Tab 解析更稳
- 要求 AI 用代码处理:让 AI 写 Python
csv模块(quoting=csv.QUOTE_ALL),原生支持引号包裹字段
记住:CSV 是个看起来简单但坑超多的格式。复杂数据建议跳过 CSV,直接 JSON ↔ Excel 互转。
进阶玩法 + 类似场景
进阶玩法 1:JSON 转 Excel 多 Sheet
源 JSON 有多个数组,想拆成多个 sheet:
{
"customers": [...],
"orders": [...],
"products": [...]
}
让 AI 写 Python 脚本(pandas + openpyxl),3 个数组分别落到 3 个 sheet。
进阶玩法 2:CSV 转 GraphQL Mutation
要做数据迁移:CSV → GraphQL mutation。
mutation {
insert_users(objects: [
{ id: 1, name: "张三", city: "北京" }
{ id: 2, name: "李四", city: "上海" }
]) { affected_rows }
}
让 AI 按你的 GraphQL Schema 字段名生成,500 行直接出。
进阶玩法 3:定时同步用 Apps Script
如果数据每天要从 Google Sheets 同步到 API,写一段 Google Apps Script 定时跑 CSV→JSON→POST 整个流程。
类似场景
- AI 写 Excel 公式完整教程
- Excel 合并表 AI 教程
- Google Sheets Apps Script AI
- Excel 数据清洗教程
- AI 生成 Excel 测试数据
- Claude prompt 库中文版
常见问题
Q:转换后中文乱码怎么办? A:99% 是编码问题。CSV 用 UTF-8 编码(不是 GBK),JSON 永远是 UTF-8。Excel 另存为时选「CSV UTF-8」而不是「CSV (逗号分隔)」。
Q:能处理 10 万行的 CSV 吗? A:单次对话不行(上下文不够)。让 AI 写一段 Python / Node.js 脚本,本地跑 5 秒搞定。或者用 Google Apps Script 在 Sheets 里跑。
Q:JSON 嵌套 5 层以上怎么拍平?
A:让 AI 用「点号路径」拍平:user.address.city 成一列、user.orders[0].amount 成一列。Python 的 pandas.json_normalize 函数就是干这个的,AI 给你代码。
Q:能保留 JSON 的字段顺序吗? A:JSON 标准上字段无序,但实际所有解析器(包括 JavaScript Object)会保持插入顺序。让 AI 在转换时按 CSV 表头顺序生成 JSON 字段,自然有序。
Q:转换敏感数据安全吗? A:不要把真实手机号、身份证、密码粘给云端 AI。3 种保护方案:1)脱敏后再转;2)只贴样本,让 AI 给脚本本地跑;3)用本地 LLM(Ollama)跑。