Combinar CSVs
Une múltiples CSVs en uno. Concatena filas o haz JOIN horizontal por columna clave.
100% local, tu archivo no sale de tu navegador
Todo el procesamiento ocurre en tu dispositivo. No subimos nada a ningún servidor.
Arrastra uno o más CSVs
Soporta múltiples archivos. Se combinan en orden de carga.
Concatenar vs JOIN: dos maneras de combinar
Combinar CSVs significa cosas distintas según el caso:
- Concatenar (UNION): apilar filas verticalmente. Tienes 12 CSVs mensuales con el mismo esquema (una columna por mes del año) y quieres un CSV anual con los 12 meses apilados. Resultado: todas las filas de todos los archivos, una tras otra.
- JOIN horizontal: combinar columnas de distintos archivos matcheando por una columna compartida. Tienes un CSV con RUT + nombre + email y otro con RUT + teléfono + dirección. Quieres un solo CSV con RUT + nombre + email + teléfono + dirección. Resultado: una fila por RUT con columnas de ambos archivos.
Son operaciones completamente distintas. Elige según lo que necesites.
Concatenar en detalle
El caso más común: consolidar reportes mensuales, trimestrales o por sucursal que siguen el mismo esquema. La estrategia de headers importa:
- Headers alineados por nombre: asumimos que columnas con el mismo nombre contienen lo mismo. El resultado tiene la unión de todos los nombres de columna. Si un archivo tiene una columna extra, aparece en el resultado y las filas de los otros archivos quedan vacías para esa columna.
- Headers prefijados con nombre de archivo: cada columna original mantiene su identidad independiente. Usado cuando los archivos tienen nombres similares pero contenido semánticamente distinto: “ventas-2024.monto” vs “ventas-2025.monto” como columnas separadas.
Deduplicación
Al concatenar múltiples archivos es común que aparezcan filas duplicadas. Ejemplos típicos:
- Reportes de ventas mensuales donde el cierre se superpone con el mes siguiente.
- Exports de CRM que se descargan periódicamente y tienen overlap.
- Listados de contactos consolidados de múltiples fuentes con overlap entre fuentes.
La deduplicación compara filas completas (todas las columnas). Si dos filas son idénticas, se mantiene la primera. Si difieren en algún campo — aunque sea whitespace — se consideran distintas.
Para deduplicar por subset de columnas (ej: “mantener una fila por RUT, sin importar el resto”), la herramienta no es suficiente — eso requiere pandas/SQL o un script. Una alternativa: primero filtra con filtrar-csv para eliminar las columnas que varían, luego deduplica acá.
JOIN en detalle
El JOIN horizontal es la operación fundamental de bases de datos relacionales. Requiere:
- Una columna clave que aparezca en TODOS los archivos. Si un archivo no tiene la columna, el JOIN falla.
- Valores únicos en la columna clave (idealmente). Si hay duplicados, solo el primer match gana.
Nuestro JOIN es LEFT: todas las filas del primer archivo aparecen en el resultado. Las columnas de los archivos siguientes se llenan cuando hay match por la clave; si no hay match, quedan nulas.
Otros tipos de JOIN (INNER: solo filas con match en todos; RIGHT: base el último archivo; FULL: unión de todas las claves) requieren herramientas más sofisticadas.
Casos de uso
Consolidar reportes mensuales. 12 CSVs con el libro de ventas mensual del SII. Concatenar para análisis anual, deduplicar si hay overlap de días fronterizos.
Enriquecer data de clientes. Tienes un CSV con clientes y su último pedido, otro con clientes y su nivel de satisfacción NPS. JOIN por email o RUT para un CSV combinado que cruza ambos lados.
Consolidar data de múltiples fuentes. Exports de distintos CRMs, ERPs o sistemas legacy. Si comparten una columna común (código de cliente, SKU de producto), JOIN los unifica.
Resultados de experimentos A/B. Exports por variante con mismos headers. Concatenación + columna agregada que indica la variante. Después a análisis en Excel o pandas.
Logs de aplicaciones. Logs diarios exportados a CSV por fecha. Concat para análisis mensual.
Casos en Chile
Libros del SII. Bajas tus libros de compras y ventas mes por mes como CSV. Para declaración anual o análisis del ejercicio, concatenar los 12 archivos en uno es el paso inicial.
Consolidación de sucursales. Una empresa con 3 sucursales en Santiago, Viña y Temuco exporta datos de ventas semanales. El ejecutivo consolida todo en un CSV único para el gerente general.
Data de clientes con RUT. El ERP exporta ventas por RUT; el CRM exporta interacciones por RUT. JOIN ambos por RUT produce una vista 360º del cliente: qué compró y qué comunicaciones recibió.
Nóminas multi-empresa. Empresas con múltiples sociedades relacionadas consolidan remuneraciones, imposiciones y dotaciones en un solo reporte con concat.
Reportes de MercadoPago y Transbank. Pasarelas de pago exportan transacciones en CSV. Consolidar mes a mes para contabilidad requiere concat.
Errores comunes
Headers distintos pero que “deberían ser iguales”. “RUT” en un archivo y “rut” en otro se tratan como columnas distintas. Normaliza nombres de columnas antes de combinar.
Encoding mixto. Un CSV en UTF-8 y otro en Latin-1 se combinarían mal. Nuestra herramienta asume UTF-8 — reconvierte con un editor si es necesario.
Delimitadores distintos. Un CSV con coma y otro con punto y coma generan parseos inconsistentes. Cada archivo se autodetecta individualmente, pero si la detección falla conviene uniformar antes.
JOIN duplicando filas. Si la columna clave tiene valores repetidos en el archivo “derecho”, solo el primer match gana — se pierden registros. Agrupa por clave en el archivo derecho antes de combinar si necesitas preservar todos los matches.
Privacidad
Los CSVs combinados pueden contener información muy sensible: bases de datos de clientes con RUT, emails, teléfonos. Procesar localmente evita que esos datos viajen a un servidor. Particularmente importante para cumplir con Ley 19.628 cuando manejas datos personales de terceros.
Relacionadas
- Filtrar CSV — para limpiar datos antes o después de combinar.
- Comparar CSVs — para ver qué cambió entre versiones.
- CSV a Excel — para entregar el combinado como XLSX.
Preguntas frecuentes
¿Diferencia entre concatenar y hacer JOIN?
Concatenar apila filas verticalmente: si tienes 3 CSVs de 100 filas cada uno, el resultado tiene 300 filas. JOIN horizontal combina columnas de múltiples archivos matcheando por una columna clave común: si los 3 archivos comparten 'rut', el resultado tiene una fila por RUT con las columnas de los 3 archivos.
¿Qué pasa si los headers difieren?
En modo concatenar tienes dos opciones. 'Usar headers del primero' alinea por nombre y agrega columnas nuevas al final (unión). 'Prefijar con nombre de archivo' preserva todas las columnas originales con prefijos para evitar choques (ej: 'ventas-enero.monto', 'ventas-febrero.monto').
¿Remueve duplicados?
Opcionalmente. Al activar 'Remover filas duplicadas' se comparan filas completas (todas las columnas) y se mantiene solo la primera aparición de cada combinación única.
¿El JOIN es INNER, LEFT o FULL?
Implementamos LEFT JOIN con el primer archivo como base: todas las filas del primer CSV aparecen; las columnas de los siguientes se llenan cuando hay match por la clave, si no quedan vacías. Para otros tipos de JOIN (INNER, RIGHT, FULL) conviene un script con pandas o SQL.
¿Cuántos archivos puedo combinar?
Técnicamente ilimitados. En la práctica el límite es la memoria del navegador: 10 archivos de 10 MB cada uno funcionan bien; 100 archivos de 100 MB probablemente cuelguen. Para datasets masivos usa pandas o un pipeline ETL.
¿Los datos se suben a algún servidor?
No. Todos los CSVs se parsean y combinan en tu navegador. Ideal cuando manejas datos confidenciales (reportes bancarios, ventas por sucursal, RR.HH.).