点赞 + 关注 + 收藏 = 学会了
整理了一个n8n小专栏,有兴趣的工友可以关注一下 👉 《n8n修炼手册》
在 n8n 的自动化工作流中,数据处理是核心环节之一。
— 无论是 API 返回的冗余数据、格式不统一的原始数据,还是需要跨数据集关联的业务数据,都需要通过精准的过滤和转换才能满足业务需求。
本文列举 n8n 初学者要掌握的几种数据处理场景。
筛选出需要的字段(Edit Fields)
有时候你的上游部门可能会给你一份大而全的数据,而在某些任务中只需要查看其中一部分数据。在 n8n 中可以用Edit Fields节点过滤。
这有点像在 Excel 里隐藏不需要的列。
创建一个简单的工作流,
在 HTTP 节点里,使用 GET 方法请求https://jsonplaceholder.typicode.com/users
在得到的一堆数据里,我只关心name、email和phone这几项信息。
可以在 HTTP 节点后面添加一个 Edit Fields 节点用来过滤数据。
双击 Edit Fields 节点,将需要过滤出来的字段拖拽到 Fields to Set 里。
然后点击 Execute step 按钮就可以看到过滤出来的数据了。
排除空值 null(Filter)
这里例子我使用了 https://restful-api.dev/ 提供的测试接口。
同样创建一个 HTTP 节点,用 GET 调用https://api.restful-api.dev/objects,可以查到一些商品信息数据。
可以看到,有些数据的data是null。我想过滤掉这些数据,可以使用Filter节点实现。
双击Filter节点,将data拖入 Conditions 下方左侧输入框里。
然后将 Conditions 下方的右侧选项卡的值改为“is not empty”。
点击 Execute step 按钮就可以看到id为2的那条数据被筛走了。
如果需要多条件筛选,可以点击“Add condition”按钮增加新的条件。
数据转成数字类型(Edit Fields)
有时候我们拿到的数据,明明需要的是一个数字,但上游却给了一个类型是字符串的数值过来。
此时可以使用Edit Fields将值转换成指定的类型。
本里使用 GET 方法请求https://jsonplaceholder.typicode.com/users/1,我想将数据里的“lat”和”lng“拿出来,并转换成数字。
在字段类型那里改成”Number”,可以看到过滤出来的“lat”和”lng“的值是绿色的,而且没用双引号包裹起来,这就是数字类型。
需要转其他类型的也可以更改上图红框部分的数据类型。
求和(Summarize)
我的购物车一共有3件商品,我想看看这3件商品的总价是多少,可以使用Summarize节点实现。
本例使用 GET 方法请求这个接口https://api.restful-api.dev/objects?id=4&id=5&id=6。
双击Summarize节点,将Aggregation改为Sum就是求和功能了。
将要求和计算的字段拉进Field里,比如本例,求的是price的和。
点击 Execute step 按钮就会帮你计算出这几件商品的总价是多少。
求个数(Summarize)
求购物车有多少件商品,同样使用Summarize节点来完成。
接着上例,新建多一个 Field,Aggregation选择Count就能计算出当前的这份数据里有多少项数据。Field里随便填一个所有子项都拥有的字段进去就能计算。
Summarize节点还能实现计算最大值、最小值等功能,自己摸索一下吧~
直接返回文本结果(Edit Fields)
在 『n8n』通过接入DeepSeek了解HTTP节点 里介绍了如何使用 HTTP 的方式和大模型供应商提供的服务交互。
但在聊天窗口的内容看起来一大坨,不太好阅读。
添加一个Edit Fields节点,通过修改返回字段的复杂度,我们能得到一个相对接单的数据结构。
但回到聊天页面交互时,仍然不是直接返回一段字符串。
想在聊天窗口让AI返回要给干净的字符串给你,只需将返回内容的那个字段名改为text即可。
能看出这几次交互的差别吗?
数据关联
在 n8n 中把两个不同 API 返回的数据集,通过共同的关联字段(比如 ID、用户 ID 等)匹配对应起来,再整合双方的字段生成一个结构化的新数据表,这也是 n8n 中非常高频的场景。
n8n 提供了专门的节点来实现这个需求,最核心、最易用的是Merge节点。
这个例子我用了2个接口:
- 用户信息接口:
https://jsonplaceholder.typicode.com/users。含id(用户 ID)、name(用户名)、email(用户邮箱)等信息。 - 帖子信息接口:
https://jsonplaceholder.typicode.com/posts。含userId(发帖人 ID)、id(帖子 ID)、title(帖子标题)。
关联逻辑:通过posts.userId = users.id匹配,合并成 “帖子信息 + 发帖人信息” 的新数据表。
先添加两个「HTTP Request」节点,获取原始数据。
接着用 Merge 节点按字段关联两个数据集。
由于两个表要关联在一起的字段名称不一致,所以要开启Fields To Match Have Different Names。
Fields to Match里填写的就是两个表要关联在一起的关键字段。
最后添加一个Edit Fields节点,把帖子id、发帖人姓名、帖子标题、帖子内容过滤出来。
以上就是本文的全部内容啦,想了解更多n8n玩法欢迎关注《n8n修炼手册》👏
如果你有 NAS,我非常建议你在 NAS 上部署一套 n8n,搞搞副业也好,帮你完成工作任务也好 《『NAS』不止娱乐,NAS也是生产力,在绿联部署AI工作流工具-n8n》
点赞 + 关注 + 收藏 = 学会了