在 n8n 中,Code 节点提供了强大的数据处理能力,让你可以使用 Javascript 或 Python 代码对数据进行自定义操作。无论你是需要对每个数据项进行独立处理,还是对整个数据集进行汇总计算,Code 节点都能满足,因为本质上就是自定义代码。
执行模式
Code 节点提供了两种执行模式:
- Run Once for All Items (对所有项目运行一次):这是默认模式。在这种模式下,无论输入数据有多少项,代码只执行一次。这适用于需要对整个数据集进行汇总计算的场景。
- Run Once for Each Item (对每个项目运行一次):选择此模式可以让代码对每个输入数据项都执行一次。这适用于需要对每个数据项进行独立处理的场景。
使用 JavaScript 或 Python
Code 节点支持使用 JavaScript 或 Python 编写代码。 你可以根据自己的熟悉程度和需求选择合适的语言。
文件系统和 HTTP 请求
在 Code 节点中,你可以使用特定的函数访问文件系统和发送 HTTP 请求。 这样就可以读取外部文件、调用 API 接口等,极大地扩展了数据处理的可能性。
关键概念
使用 Code 节点时,你需要理解以下关键概念:
- 数据结构: 了解 Code 节点接收的数据结构,以及从节点输出数据的要求。
- n8n 使用一种特定的 JSON 结构来表示数据。 在编写代码时,你需要了解如何访问和操作这种结构中的数据。
- 更多关于 n8n 数据结构的信息,请参考官方文档: https://docs.n8n.io/data/data-structure/
- 项目链接: 学习数据项目的工作原理,以及如何链接到先前节点的项目。
- 当输入和输出项目的数量不匹配时,你需要在代码中处理项目链接。
- 项目链接允许你灵活地控制数据在不同节点之间的流动。
- 更多关于 n8n 项目链接的信息,请参考官方文档: https://docs.n8n.io/data/data-mapping/data-item-linking/
示例代码
以下是一些示例代码,展示了如何在 Code 节点中使用 JavaScript 和 Python:
JavaScript – 对每个项目运行一次,将输入数据加倍
const items = $input.all();
return items.map(item => ({
json: {
number: item.json.number * 2
}
}));
Python – 对所有项目运行一次,计算所有数字的总和
import functools
items = $input.all()
sum = functools.reduce(lambda a, b: a + b['json']['number'], items, 0)
return [{'json': {'sum': sum}}]
在上面的示例代码中:
$input.all()
用于获取所有输入数据项。item.json
用于访问每个数据项的 JSON 数据。return
语句用于返回处理后的数据。
通过灵活运用 Code 节点和以上知识点, 可以轻松地在 n8n 中实现各种自定义数据处理逻辑,构建强大的自动化流程。
#n8n #数据处理 #节点