Guía Definitiva: Recupera Datos de Nodos en Python con n8n

Cómo Recuperar Datos de Nodos Anteriores en Python dentro de n8n
  • Save
Cómo Recuperar Datos de Nodos Anteriores en Python dentro de n8n

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. 🚀

Comments

No comments yet. Why don’t you start the discussion?

Deja un comentario

This site uses Akismet to reduce spam. Learn how your comment data is processed.