Cuando trabajamos con JavaScript en n8n, es común utilizar $items("NodeName")
para acceder a los datos de nodos anteriores. Esta sintaxis nos permite recuperar fácilmente la información procesada por nodos previos en el flujo de trabajo. Sin embargo, cuando utilizamos el nodo “Execute Python Script”, la sintaxis cambia significativamente. En lugar de $items("NodeName")
, debemos usar _("NodeName")
para acceder a los datos. Esta guía te mostrará cómo utilizar esta sintaxis en Python para recuperar y manipular datos de nodos anteriores de manera eficiente dentro de n8n.
🛠 Pasos para acceder a los datos de un nodo anterior en Python
1️⃣ Acceder a los datos del nodo anterior
En Python, en lugar de $("NodeName")
, usamos _("NodeName")
.
Para obtener todos los elementos de un nodo específico, utilizamos .all()
.
📌 Ejemplo: Obtener todos los datos de un nodo llamado "MiNodo"
datos = _("MiNodo").all()
print(datos) # Muestra la lista completa de elementos del nodo
2️⃣ Obtener un solo elemento
Si solo necesitas el primer elemento del nodo anterior, puedes usar .first()
.
📌 Ejemplo: Obtener el primer elemento del nodo "MiNodo"
dato_unico = _("MiNodo").first()
print(dato_unico) # Muestra el primer objeto JSON del nodo
Si necesitas acceder a un campo específico del JSON devuelto:
nombre = _("MiNodo").first().json["nombre"]
print(nombre) # Imprime el valor del campo "nombre"
3️⃣ Acceder a datos de múltiples nodos
Si necesitas combinar datos de varios nodos, puedes hacer lo siguiente:
📌 Ejemplo: Obtener datos de dos nodos "NodoA"
y "NodoB"
datos_a = _("NodoA").all()
datos_b = _("NodoB").all()
print(datos_a, datos_b) # Imprime los datos de ambos nodos
4️⃣ Usar los datos en un procesamiento personalizado
Puedes manipular los datos antes de devolverlos en el flujo de n8n.
📌 Ejemplo: Crear una lista de nombres a partir de los datos de "Clientes"
clientes = _("Clientes").all()
nombres = [cliente.json["nombre"] for cliente in clientes]
print(nombres) # Lista con todos los nombres de los clientes
🔥 Resumen
- Usa
_("NodeName").all()
para obtener todos los datos de un nodo. - Usa
_("NodeName").first()
para obtener solo el primer elemento. - Usa
.json["campo"]
para acceder a datos específicos dentro del JSON. - Puedes combinar datos de varios nodos para procesarlos.
Con esto, ya puedes recuperar y manipular datos de nodos anteriores en Python dentro de n8n. 🚀