news 2026/4/3 3:16:30

『n8n』数据过滤

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
『n8n』数据过滤

点赞 + 关注 + 收藏 = 学会了

整理了一个n8n小专栏,有兴趣的工友可以关注一下 👉 《n8n修炼手册》

在 n8n 的自动化工作流中,数据处理是核心环节之一。

— 无论是 API 返回的冗余数据、格式不统一的原始数据,还是需要跨数据集关联的业务数据,都需要通过精准的过滤和转换才能满足业务需求。

本文列举 n8n 初学者要掌握的几种数据处理场景。

筛选出需要的字段(Edit Fields)

有时候你的上游部门可能会给你一份大而全的数据,而在某些任务中只需要查看其中一部分数据。在 n8n 中可以用Edit Fields节点过滤。

这有点像在 Excel 里隐藏不需要的列。

创建一个简单的工作流,

在 HTTP 节点里,使用 GET 方法请求https://jsonplaceholder.typicode.com/users

在得到的一堆数据里,我只关心nameemailphone这几项信息。

可以在 HTTP 节点后面添加一个 Edit Fields 节点用来过滤数据。

双击 Edit Fields 节点,将需要过滤出来的字段拖拽到 Fields to Set 里。

然后点击 Execute step 按钮就可以看到过滤出来的数据了。

排除空值 null(Filter)

这里例子我使用了 https://restful-api.dev/ 提供的测试接口。

同样创建一个 HTTP 节点,用 GET 调用https://api.restful-api.dev/objects,可以查到一些商品信息数据。

可以看到,有些数据的datanull。我想过滤掉这些数据,可以使用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》

点赞 + 关注 + 收藏 = 学会了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/3 3:05:00

测试覆盖率提升术:AI辅助策略全解‌

在敏捷开发与持续交付的浪潮下,测试覆盖率已成为衡量软件质量的核心指标,但传统方法常陷入“70%魔咒”——覆盖率的提升在后期举步维艰,人工用例设计难以覆盖边界场景和复杂逻辑路径。AI技术的介入正重构这一格局,通过智能用例生成…

作者头像 李华
网站建设 2026/4/1 23:29:53

详解kubectl get replicaset命令及与kubectl get pods的核心区别

在Kubernetes日常运维与开发中,kubectl命令是操作集群的核心工具。其中kubectl get replicaset与kubectl get pods是高频使用命令,但不少开发者容易混淆二者的定位与适用场景。本文结合实操场景,详细拆解kubectl get replicaset的用法&#x…

作者头像 李华
网站建设 2026/3/24 17:42:15

Unsloth能否用于生产?企业级部署稳定性实战评估

Unsloth能否用于生产?企业级部署稳定性实战评估 在AI工程落地的现实场景中,模型微调框架的选择往往决定了项目能否从实验室走向产线。当团队手握业务数据、急需定制化大模型能力,却面临显存不足、训练缓慢、部署复杂等现实瓶颈时&#xff0c…

作者头像 李华