做电商或供应链的朋友都知道,订单数据从来不会主动按你想要的样子送到你面前。我从后台导出一份销售明细,可能是 Excel;调接口拉回来的订单,多半是 JSON;几个合作的渠道商发过来的对账单,有的走邮件正文,有的发截图,还有的干脆往群里贴了一段聊天记录。这些格式不统一的数据,最终都要汇总进公司的订单系统或者日报表里,于是大量时间就花在“搬运”上:从 A 格式复制到 B 格式,把字段名改一改,把日期修正一下,再顺手统一一下金额单位。听着不复杂,但一旦订单量上来,光是这类机械操作就足以吃掉一整个下午。
今天这篇就围绕“用 AI 做多格式转换”聊点实战经验。我会用订单数据处理作为例子,把从非结构化文本、JSON、旧系统 CSV 到目标表格的几种转换场景拆开讲,包括提示词怎么设计、字段映射怎么定、AI 结果怎么验证,还有我自己踩过的几个坑。适合每天要跟数据打交道的运营、财务、数据分析同学,也适合想用 AI 减轻重复工作的普通职场人。你不需要会写复杂的代码,但看完这篇,你应该能自己搭出一套“AI 辅助订单数据搬运”的流程。
1. 先搞懂“多格式转换”到底难在哪
1.1 订单数据的常见“原生格式”有哪些
订单数据的来源一多,格式就五花八门。我处理过的大概可以归成这几类:
- 表格类:Excel 导出、CSV 导出,通常来自电商后台、财务系统、ERP 报表。这类结构相对规整,但列名千奇百怪,比如有人叫“订单号”,有人叫“单号”,还有人叫“OrderNo”。
- 接口类:从开放平台或自建系统拉回来的 JSON,嵌套层级深,字段名通常是英文,嵌套结构里还套着商品明细数组。
- 文本类:邮件正文、聊天软件里的订单通知、PDF 截图后的 OCR 文字。这类最折磨人,因为它本质上没有“结构”,只有“信息”。
- 数据库类:SQL 导出文件、CSV 导出但带引号转义,字段分隔符还不一定统一。
这些格式本身都不可怕,真正可怕的是它们混在一起。早上收到一个 Excel,中午来一份 JSON,下午又从聊天记录里摘了十几单,每一份字段规则还不一样。你会发现人大部分时间不是在“分析数据”,而是在“对齐数据”——把列名改一致、把单位换算一致、把日期格式改一致。这个“对齐”的过程,恰恰是 AI 最擅长替代的环节。
1.2 为什么“复制粘贴”思路是低效的
以前没有 AI 的时候,很多人习惯的做法是:开一个总表,然后把各来源的数据手工复制进去,再用 VLOOKUP 匹配订单号。这个办法对几十单没问题,但订单量一旦过百,问题就出来了:VLOOKUP 匹配不上(因为单号格式不一致)、日期文本被 Excel 自动转成序列号、金额一列出现了文本符号导致 SUM 求和为 0。最头疼的是,这些错误往往不会直接报错,而是安安静静地变成错误的数字。
我印象很深的一次,是处理一个月的渠道对账单,对方发来的价格单位是“分”,我们系统里单位是“元”,手工换算时漏了一处,结果最后汇总差了三千多块。这种错误查起来极费劲,因为你不知道是哪个 cell 出了问题。后来我想明白一个事:数据搬运的核心不是“把格子填满”,而是“把规则说清楚”。规则只要说清楚了,让 AI 照着执行,反而比人工一个个点鼠标可靠得多。
1.3 AI 适合做什么、不适合做什么
用 AI 做格式转换,要先对它有个清醒的定位。它适合做的是:识别结构、理解语义、执行明确规则。比如你告诉它“把字段改名并调整顺序”,它能做得又快又稳定;你告诉它“从这段聊天记录中提取订单信息并按列填入模板”,它也能处理得不赖。
但它不适合做的是:大规模精确计算和复杂校验。AI 在处理大批量数字时偶尔会漏一行、错一位。所以我的经验是:AI 负责“把数据从不规整变成规整”,人负责“抽查验证”和“兜底计算”。两者配合,效率和安全才能兼顾。下面几个实战场景,也都是按照这个思路来做的。
2. 实战一:把聊天记录和邮件片段变成结构化表格
2.1 场景描述:运营同学每天面对“文字碎片”
先讲一个我身边特别常见的场景。某电商团队每天会从渠道群里收到客户的订货信息,格式大致是这样的:
张老板 下单 3 件 A 款黑色 T 恤,单价 59 元,运费 8 元,备注要开发票,后天发货。 李姐 要 2 个 B 款保温杯,每个 89 元,发顺丰,地址是某某路 12 号。
这类消息每天几十条,运营同学得手动录入订单表。录入时要把“张老板”“3 件”“A 款黑色 T 恤”“59 元”分别填进买家、数量、商品、单价等列里。字不多,但架不住条数多,而且每条的语序还不一样。这种工作,就非常适合让 AI 来“打前站”。
2.2 提示词怎么设计:给角色、给样本、给输出模板
我的做法不是直接把消息丢给 AI 让它“帮我整理一下”,而是给出一段完整的提示词,包含四个要素:角色、任务、样例、输出格式。这样做的好处是结果稳定可预期。
一个可以直接参考的提示词是这样:
你是一个数据录入助手。我将给你一批来自聊天记录的订单消息,请你把每条消息提取成一行结构化数据,并严格按照下面列出的字段输出。 目标表格字段: 买家名称, 商品名称, 数量, 单价(元), 运费(元), 总金额(元), 收货地址, 备注 规则: 1. 总金额 = 单价 × 数量 + 运费。 2. 如果消息中没有明确说明运费,则默认运费为 0。 3. 所有金额保留两位小数,不要四舍五入以外的多余修改。 4. 输出为 Markdown 表格,不要输出其他解释。 示例: 消息:王姐 要 1 个 C 款收纳箱,单价 39 元,包邮,地址是某某小区 3 栋。 输出: | 买家名称 | 商品名称 | 数量 | 单价(元) | 运费(元) | 总金额(元) | 收货地址 | 备注 | | 王姐 | C 款收纳箱 | 1 | 39.00 | 0.00 | 39.00 | 某某小区 3 栋 | | 现在请处理以下消息: {待处理消息列表}这段提示词的思路是先把“规则”拆给 AI 看,再给一个“示例”让它照葫芦画瓢。实测下来,只要示例够典型,AI 输出的格式基本不会跑偏。
2.3 实操中的细节:批处理要选对输入方式
这里有个细节我想单独说一下:不要把几十条消息一次性全塞进去,除非你只需要粗稿。我自己通常的操作是:先把所有消息粘贴进“待处理消息列表”位置,让 AI 生成一次结果,然后复制结果做抽查。如果发现 AI 对某几条理解错误,就把这几条单独提出来,在对话里“追加修正”,比如:“第 7 条消息里‘一件代发’不算商品数量,请修正。”
分批的好处是便于定位错误。如果一口气处理二百条,错一条你可能得来回翻半天。我一般控制在最多 30 条一批,量大的时候分几个会话并行跑,输出结果再合并。
另一个容易忽视的细节是“金额单位”。聊天记录里经常会写“单价 59 元”,但也有写“59”(默认元)或者“5900”(单位为分)的情况。我现在的习惯是在提示词里加一句“说明:除非消息明确写‘分’,否则所有金额都按‘元’处理”。这句话看着简单,实际能省掉很多换算纠纷。
3. 实战二:JSON 订单数据转成 CSV 统计表
3.1 场景描述:API 返回的“天书”数据结构
某平台开放了一个订单查询接口,返回的是标准 JSON 格式,结构大致如下(脱敏后):
{ "code": 0, "data": { "orders": [ { "order_id": "DX20240115001", "buyer": { "name": "王姐", "phone": "13800000000" }, "items": [ { "sku": "A款黑T恤", "count": 3, "price": 5900 }, { "sku": "B款保温杯", "count": 2, "price": 8900 } ], "freight": 800, "status": "PAID" } ] } }这种嵌套结构在 JSON 里很常见,但导进 Excel 的时候会麻烦:items是一个数组,一件订单里可能有多个商品,直接拉平会让同一订单的买家信息重复出现。如果人工整理,通常要用 Python 脚本或者先手动展开 Excel 里的 Power Query。而现在可以把这段 JSON 扔给 AI,让它按指定列输出。
3.2 让 AI 生成“拉平后的 CSV”而不是“解释 JSON”
初期我犯过一个错误:让 AI“解读这份 JSON 数据”,它给我输出了一段解释性文字,什么“订单号是 DX20240115001,买家叫王姐”之类的。这种输出没什么用,我还得再整理一遍。
后来我把提示词改成“请将 JSON 展开成表格”,并且给定了目标列:
目标列:订单号, 买家姓名, 联系电话, 商品名称, 商品数量, 单价(元), 运费(元), 订单状态 规则: 1. items 数组中的每个商品单独占一行,同一订单的买家信息重复填写。 2. 单价和运费字段的数值单位是“分”,输出时转为“元”。 3. 不输出 JSON 原文,不输出解释,直接输出 CSV 格式。这时候 AI 能把嵌套的 items 展开成多行,正确地重复填充订单号、买家、运费等字段。输出效果大致像这样:
订单号,买家姓名,联系电话,商品名称,商品数量,单价(元),运费(元),订单状态 DX20240115001,王姐,13800000000,A款黑T恤,3,59.00,8.00,PAID DX20240115001,王姐,13800000000,B款保温杯,2,89.00,8.00,PAID这个转换过程里,真正起到关键作用的是我写清楚了“一条订单拆成多行”这个规则。AI 并不天然知道你想怎么拉平嵌套数组,但你把规则一讲,它执行得又快又准确。这比写 Python 脚本的门槛低太多,对于不擅长代码的运营同学尤其友好。
3.3 金额单位“分”和“元”的换算陷阱
在这一步,我要特别提一下金额单位。JSON 接口里的金额字段经常是“分”,比如price: 5900表示 59 元,freight: 800表示 8 元。如果直接拿来用,最后统计表就会多乘 100。我在提示词里必须明确写“输出时转为元”,同时还可以再加一条自查规则:“检查所有金额字段,如果原始值大于 1000,确认是否已经除以 100。”
更稳妥的办法是让 AI 输出后,我再抽查几个明显异常的数字。比如单价列里如果出现 590000,那肯定说明单位没转对。这种“基于业务常识的抽查”,比让 AI 自己检查更可靠。
3.4 当数据量特别大时,先让 AI 生成处理脚本
如果你的接口一次返回几千条订单,AI 的上下文窗口塞不下,直接让它转 CSV 就不现实了。这时候我的经验是:不直接要结果,先要脚本。
可以这样问:
我有一份 JSON 文件,结构是 {订单字段+items数组}。请写一个 Python 脚本,读取 JSON 文件 orders.json,将 items 数组展开,并把金额从分转成元,最后输出为 result.csv,列顺序为:订单号,买家姓名,联系电话,商品名称,商品数量,单价(元),运费(元),订单状态。 请只输出代码,不要解释。AI 通常会生成一个比较简洁的 pandas 脚本。你拿这个脚本在本地跑一遍,数据量再大也不怕。对我来说,这条路径的价值在于:AI 把 90% 的代码逻辑写好了,我只需要懂一点运行环境,就能处理大规模数据。这也是“多格式转换”里比较进阶的玩法。
4. 实战三:两个系统之间的字段映射与翻译
4.1 场景描述:老系统导出 CSV,新系统不认旧列名
某公司做了一次系统升级,从老 ERP 切到新 ERP。老系统导出的订单明细是这样的:
单号,客户,商品,数量,金额,日期,备注 X001,王姐,A款T恤,3,177,2024-01-15,加急 X002,李哥,B款保温杯,2,178,2024-01-16,而新系统的导入模板长这样:
order_no,customer_name,product_name,quantity,order_amount,order_date,note列名完全对不上。如果只靠 Excel 手工改,需要一个一个地调整列顺序并重命名。如果系统升级后订单量大,这就是一个耗时的体力活。用 AI 的话,关键是让它生成“映射关系”和“转换代码”两层内容。
4.2 让 AI 输出“字段映射表”帮你理清规则
我先让 AI 输出一张映射表:
下面是老系统的 CSV 列名和新系统的导入模板列名,请生成一个逐字段的映射关系表,并指出哪些字段需要做格式转换。 老系统:单号,客户,商品,数量,金额,日期,备注 新系统:order_no,customer_name,product_name,quantity,order_amount,order_date,noteAI 会给出类似这样的结果:
| 老系统字段 | 新系统字段 | 是否需要转换 |
|---|---|---|
| 单号 | order_no | 否 |
| 客户 | customer_name | 否 |
| 商品 | product_name | 否 |
| 数量 | quantity | 否 |
| 金额 | order_amount | 否 |
| 日期 | order_date | 建议转为 YYYY-MM-DD 格式 |
| 备注 | note | 空值处理 |
这个映射表看起来简单,但它能帮你形成对数据的统一认识。后续不管是让 AI 直接转,还是写脚本,或者找开发确认,都有了清晰的依据。
4.3 用 AI 生成 pandas 脚本完成“批量翻译”
字段映射表确认后,我们就可以让 AI 写一个转换脚本。一般我会把样例数据放进提示词里,这样 AI 可以针对真实格式来写代码:
老系统导出的 CSV 文件名为 old.csv,第一行是列名。请写一个 Python 脚本: 1. 读取 old.csv; 2. 重命名列为:单号->order_no, 客户->customer_name, 商品->product_name, 数量->quantity, 金额->order_amount, 日期->order_date, 备注->note; 3. 保持原有列顺序并按 order_date 升序排序; 4. 将备注中的空值填充为空字符串; 5. 输出为 new.csv,编码为 utf-8-sig,方便 Excel 打开。 示例文件内容: 单号,客户,商品,数量,金额,日期,备注 X001,王姐,A款T恤,3,177,2024-01-15,加急 X002,李哥,B款保温杯,2,178,2024-01-16,AI 给出的脚本往往可以直接用。这里推荐加一个细节:输出编码用utf-8-sig,因为直接用utf-8生成的 CSV 在 Excel 里容易出现中文乱码。这个小点是我自己踩坑踩出来的,特意写进提示词里让 AI 处理。
4.4 要不要用 AI 生成 Excel 公式而不是代码?
如果你的环境不支持 Python,或者你更习惯在 Excel 里完成,也可以让 AI 生成执行公式。比如让它给新表写一个对应关系公式:
把老表格的 A 列单号、B 列客户、C 列商品、D 列数量、E 列金额、F 列日期、G 列备注,在新表格中按新列顺序引用,请生成适合新表第一行使用的公式模板。不过,以我的经验来说,字段不多的时候直接用 Excel 公式简单;字段一旦超过十个,或者数据量上几千行,还是脚本更稳妥。所以这个选择看你自己的工具熟练度,没有一定之规。
5. 常见问题与排查技巧实录
5.1 AI 把数字弄错或漏行,怎么办
我在实际试用里最常遇到的问题,就是 AI 在转换过程中出现数字偏差。常见表现有这些:
- 金额小数位丢失,比如 59.00 变成 59。
- 大数字被错误地加上了千分位符,比如 1234 变成 1,234。
- 某一行的内容被漏掉,尤其是重复字段较多的时候。
- 日期被“智能修复”成另一种格式,比如 2024/1/15 变 2024-01-15 本来没问题,但 AI 可能把 15-01-2024 也混进来。
针对这些情况,我养成了一个习惯:AI 生成完结果后,追加一句“请现在逐条核对你的输出,确认原始数据里的订单数和你输出的行数一致,数字无缺失”。这句话看起来简单,但会让 AI 进入“自查模式”,很多漏行的问题在这一步就被它自己修掉了。
不过不能完全指望 AI 自查。我还会在结果出来之后,做一次“行数核对”:把原始数据的记录数数清楚(比如聊天记录有 20 条),再数一下 AI 输出的表格行数(不算表头)。如果对不上,立刻让 AI 重新生成。
5.2 日期格式不统一,怎么一次解决
日期是最容易出乱子的字段,因为不同来源的写法五花八门:2024-01-15、2024/1/15、15 Jan 2024、2024年1月15日。我的解决办法是:在提示词里明确指出目标格式,并且告诉 AI“遇到无法识别的日期,保留原值并在备注列里标注‘日期存疑’”。
例如:
将日期字段统一输出为 YYYY-MM-DD 格式。如果某个日期值无法可靠解析,请不要随意猜测,保留原始值,并在备注中添加“日期格式存疑”字样。这么做的好处是:宁可留一个明确的问题,也不要让 AI 把一个错日期悄悄塞进统计。数据处理的底线是“出错要能看见”,最怕的就是错得无声无息。
5.3 上传数据涉及客户隐私,有哪些注意点
这一点我放在最后,但它的重要性不亚于任何技术细节。当你把订单数据粘贴给 AI 工具时,你实际上是把它提交到了外部服务。包含客户姓名、手机号、详细地址的数据,一旦被用于训练或者被其他人看到,有隐私风险。
我的建议是:
- 脱敏:贴给 AI 之前,把姓名换成“客户A”“客户B”,手机号换成 13800000001 这类假号码,地址写成“某某市某区某路某号”。
- 避免贴全量:如果你只是做格式转换、验证字段映射,给 10 到 30 条样本就够了,不要贴全量数据。
- 核对服务条款:如果你的公司有明确的数据外发禁令,建议用本地部署的可离线大模型,或者干脆用 Python 脚本完成格式转换,把 AI 的角色限制在“生成思路”和“生成代码”上,而不是直接处理原始数据。
我用 AI 处理订单数据时,核心原则是:示例可以给真的结构,但具体身份信息必须脱敏。等到确认流程没问题,再在内部环境里用真实数据跑一遍。这个习惯能帮你避免绝大多数麻烦。
5.4 常见问题速查表
| 问题现象 | 可能原因 | 解决办法 |
|---|---|---|
| AI 输出的表格漏了几行 | 输入样例太多、上下文过长 | 分批处理,每批不超过 30 条,并要求 AI 自查 |
| 金额单位不对(多了 100 倍) | JSON 中金额以“分”为单位,未写明换算规则 | 提示词里专门写“原始单位是分,输出为元” |
| 日期格式混乱 | 多种日期写法混在一起 | 在目标规则里写死格式,无法解析时保留原值并标注 |
| 中文列名被转成乱码 | CSV 没有用 utf-8-sig 编码 | 让 AI 生成代码时写 encoding=utf-8-sig |
| AI 输出的是“解释”而不是“结果” | 提示词没有限定输出格式 | 明确写“不要输出解释,直接输出 CSV/表格” |
| 数据处理涉及真实客户信息 | 未脱敏就上传外部 AI 工具 | 先脱敏再处理,或用本地工具辅助 |
6. 我现在的日常工作流与最后一组建议
6.1 从“看到格式就烦”到“直接套模板”
走到今天,再遇到新格式的订单数据,我已经不会条件反射地打开 Excel 开始手工整理了。我的流程已经固定下来:先花两分钟观察数据长什么样,有哪些列、哪些字段可能出问题;然后写一段带“角色、规则、样例、输出格式”的提示词,扔给 AI 生成初稿;最后用行数核对、金额抽样、日期抽查这三板斧来验收。如果数据量巨大,就让 AI 生成脚本,在本地跑。
6.2 细节经验总结
我特别建议在提示词里养成三个固定动作。第一,给出“错误样例”——比如给 AI 看一条包含异常格式的消息,并告诉它“这种也算正常格式,不要跳过”。第二,要求输出固定格式——把表头字段名写死,不给 AI 自由发挥的空间。第三,保留原始值——当规则无法处理时,与其让 AI 猜测,不如明确说“标出来即可,不要猜”。这三条经验,基本能覆盖绝大多数转换出错的情况。
6.3 最后再分享一个小技巧
如果你还在犹豫要不要把“全部订单数据”一次性交给 AI,我的建议是:别这么做。哪怕 AI 能力再强,一次投喂大量的复杂数据也容易出现随机错误。更好的方式是“带模板的小样本 + 可复用的规则”:先用小样本把规则验证到稳定,再考虑用脚本批量执行。规则一旦稳定,你会发现它不仅对今天这批数据有效,下一次来了类似格式,你甚至可以稍微改几个字段名就直接复用。说到底,AI 帮你省下的不是某一天的搬运时间,而是让你把“数据处理的规则”沉淀了下来。这套规则才是真正属于你自己的资产。