← Volver al blog

Importación de CSV en n8n: un ejercicio de validación y conciliación

Practica la importación de CSV en n8n con identificadores con ceros iniciales, categorías de rechazo y comprobaciones antes de cargar una Data Table temporal.

Una mano sostiene una tira de cuentas sobre bandejas de clasificación junto a una hoja doblada para una importación de CSV en n8n.

Comprobado con las fuentes citadas el .

Tu tarea de importación de CSV en n8n y los requisitos previos

Un cajón de almacenamiento desechable, un archivo de papel y un dispositivo emisor representan los requisitos previos del ejercicio de CSV.
Un destino independiente y una entrada sintética definen el espacio de trabajo del ejercicio.

Este ejercicio editorial te propone diseñar una importación de CSV en n8n que conserve intactos los identificadores, registre los datos rechazados y verifique los resultados almacenados. El flujo propuesto y los criterios de finalización no se han ejecutado ni validado. La tarea estará completa cuando cada registro de entrada tenga una clasificación y los registros almacenados coincidan con los aceptados.

Prepara un espacio de trabajo de n8n, una herramienta capaz de enviar CSV por HTTP y una Data Table vacía y desechable. Crea columnas de tipo String llamadas customer_id, name y email. n8n documenta columnas tipadas en Data Table, incluido String. Las Data Tables ofrecen almacenamiento limitado al proyecto para un uso ligero o moderado; estas fuentes no establecen una versión mínima universal ni la disponibilidad en un plan para este ejercicio completo.

Utiliza únicamente registros sintéticos. Creemos que un destino desechable hace más útil esta práctica: permite a quienes aprenden centrarse en explicar cada registro antes de decidir cómo debe comportarse una importación compartida.

Sources: n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.datatable/tables.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/get-started/key-concept-glossary.md at main · n8n-io/n8n-docs · GitHub

Recibe el archivo CSV en n8n e inspecciona los identificadores

Una lupa abarca dos tiras de cuentas idénticas para comprobar los identificadores del CSV.
Compara los identificadores inmediatamente después del análisis antes de permitir que los registros continúen.

Crea un CSV con las cabeceras y los valores literales que aparecen a continuación, representando cada celda Vacío como un campo CSV vacío. Este conjunto de prueba sugerido contiene cinco registros de datos; la cabecera queda excluida del recuento. Trata customer_id como un identificador exacto y exige que los tres campos contengan texto que no sea solo espacios en blanco. La validación del formato del correo electrónico queda fuera de este ejercicio.

Conjunto de prueba sintético sugerido; Vacío indica un campo vacío.
customer_idnameemail
00127Adaada@example.invalid
00420Benben@example.invalid
00127Ada repeatrepeat@example.invalid
00009Vacíomissing@example.invalid
VacíoCycy@example.invalid

Configura un Webhook para recibir datos binarios y conecta después Extract From File con la extracción de CSV. Haz coincidir la propiedad binaria de recepción del Webhook con el campo de entrada del extractor. Para la URL de prueba, selecciona Listen for test event antes de enviar tu archivo CSV a n8n; en producción se utiliza una URL distinta y es necesario publicar.

Compara los valores de customer_id inmediatamente después del análisis con los del CSV original. La documentación citada sobre extracción de CSV no establece si esta conserva los identificadores que parecen números ni qué ajuste del analizador lo garantiza. Detente si 00127 se convierte en 127. Un destino de tipo String o una conversión posterior no pueden recuperar los caracteres perdidos; resuelve la recepción de los datos antes de continuar.

Sources: Extract From File | Nodes | n8n Docs, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.webhook/README.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.webhook/common-issues.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.datatable/tables.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.set.md at main · n8n-io/n8n-docs · GitHub

Clasifica los registros y concilia los recuentos antes de cargar

Fichas de registros ocupan bandejas separadas para registros CSV aceptados, no válidos y duplicados.
Las tres bandejas representan clasificaciones mutuamente excluyentes que se conservan para la conciliación.

Una vez superada la comprobación de identificadores, utiliza Edit Fields para realizar un mapeo explícito y descarta los campos no utilizados si procede. n8n documenta el uso de JavaScript personalizado en el nodo Code y el enrutamiento condicional con If. El siguiente algoritmo sugerido para tu importación de CSV en n8n es un diseño editorial que debes implementar y verificar.

Mantén arrays de registros aceptados, no válidos y duplicados, junto con un resumen, en un único elemento de salida de Code. Conserva los valores originales de los campos y un índice del registro de origen, y añade los motivos del rechazo. Sigue este orden para que cada registro pertenezca exactamente a una categoría; ten en cuenta los requisitos documentados de vinculación de elementos de n8n cuando difieran las cantidades de elementos de entrada y salida.

  1. Inicializa arrays de categorías vacíos y un conjunto de valores customer_id aceptados.
  2. Inspecciona cada registro en el orden de origen; clasifica primero como no válidos los que carezcan de valores obligatorios.
  3. Para un registro válido, clasifica como duplicado un customer_id ya visto; de lo contrario, acéptalo y guarda su identificador.
  4. Calcula los recuentos de las categorías y devuelve juntos los arrays y el resumen, incluso cuando el array de aceptados esté vacío.

Para el conjunto de prueba, el resultado editorial esperado es de cinco registros de entrada: dos aceptados, dos no válidos y uno duplicado. Antes de Insert, utiliza If para evaluar recuento de entrada = recuento de aceptados + recuento de no válidos + recuento de duplicados. Dirige cualquier discrepancia a Stop And Error; solo la rama en la que coincidan los recuentos puede avanzar hacia la inserción. Prueba un conjunto adicional en el que todos los registros sean no válidos: conserva sus arrays de rechazos y su resumen, y omite la inserción cuando el array de aceptados esté vacío.

Remove Duplicates documenta la eliminación de duplicados en la entrada actual según los campos seleccionados tras su revisión en n8n 1.64.0; las versiones anteriores requieren su documentación correspondiente. Documenta la eliminación, pero no una salida de duplicados rechazados. En nuestra opinión, la clasificación explícita es la mejor opción de aprendizaje aquí porque el ejercicio te pide explicar los registros rechazados.

Sources: n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.set.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.if.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/reusable-content/.gitbook/includes/integrations/builtin/core-nodes/code-node.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.removeduplicates/README.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.stopanderror.md at main · n8n-io/n8n-docs · GitHub

Completa la importación a una Data Table de n8n y reflexiona

Una mano compara fichas de un cajón abierto y una bandeja de referencia para comprobar la lectura posterior de la Data Table.
Las comprobaciones de lectura posterior comparan el destino con los registros aceptados.

Para esta importación a una Data Table de n8n, los registros CSV deben superar la comprobación previa a la carga antes de enviar únicamente los aceptados a Insert y mapear cada columna manualmente. Vuelve a leer el destino con Return All mientras los demás procesos de escritura permanecen en pausa; n8n advierte de que los cambios simultáneos pueden provocar omisiones o repeticiones durante las lecturas paginadas. Compara el recuento almacenado y los valores exactos de los identificadores con el array de aceptados y comprueba después los valores de name y email.

Si tu importación de CSV en n8n produce filas ausentes o una discrepancia en el recuento, inspecciona las clasificaciones guardadas, las entradas de inserción y los ajustes de lectura posterior antes de volver a ejecutarla. La referencia de operaciones señala comportamientos que dependen de la versión, advierte de que Insert por sí solo puede duplicar registros al repetir ejecuciones y describe salidas vacías cuando el filtrado elimina todos los elementos. Una rama vacía, por sí sola, no es prueba suficiente de finalización.

Después de la carga, utiliza una comprobación If independiente para comparar el recuento y los valores de los campos leídos del destino con los registros aceptados, dirigiendo cualquier discrepancia a Stop And Error. Un fallo no implica que se reviertan las escrituras anteriores. Los bloqueos en producción, las garantías transaccionales y la recuperación de escrituras parciales quedan fuera de este ejercicio aislado. Termina dejando constancia de las siguientes decisiones de reflexión sugeridas.

Sources: n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.if.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.datatable/rows.md at main · n8n-io/n8n-docs · GitHub, skills/skills/n8n-data-tables-official/references/OPERATIONS.md at main · n8n-io/skills · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.stopanderror.md at main · n8n-io/n8n-docs · GitHub

Ponlo en práctica

Retos prácticos de n8n

Elige un reto y construye un workflow que funcione en tu propio entorno de n8n, con cinco pistas progresivas por reto.

Prueba un reto práctico

Para tu equipo

Programas de formación en n8n a medida para un equipo o departamento, en tu propia instancia de n8n y con tus herramientas y datos.

Formación para tu equipo

Evaluación de habilidades de n8n

Un cuestionario gratuito de unos 20 minutos, en inglés: 30 preguntas en 10 áreas y un nivel de principiante a experto. En AI Adoption Score, otro proyecto del autor de este sitio.

Descubre tu nivel de n8n