Unir archivos CSV
Este unidor combina varios archivos CSV en uno, alineando las columnas por el nombre del encabezado en lugar de por posición: el encabezado de salida es la unión de las columnas de cada archivo, y las filas se rellenan con lo que tienen, dejando en blanco lo que no. El análisis y la escritura ocurren en tu navegador; los archivos nunca se suben.
Unir archivos CSV: explicación
Dos exportaciones del mismo tipo de registro casi nunca coinciden en las columnas — una tiene nombre y correo electrónico, la otra tiene nombre y empresa. Apilarlas es cómo se crean archivos incorrectos: las filas quedan bajo cualquier encabezado que esté encima, y una columna llamada correo electrónicamente recoge los valores de empresa de otra persona. La solución es unir columnas por nombre y reasignar cada fila según su propio archivo de encabezado.
Eso es lo que hace este unidor. El encabezado de salida es la unión ordenada: las columnas del primer archivo en su orden, luego cada nueva columna en cuanto algún archivo la muestre. Cada fila se escribe contra esa unión, tomando valores de las columnas que su propio archivo tiene, dejando el resto en blanco. La salida es RFC 4180: comas, campos entrecomillados solo cuando sea necesario, finales de fila CRLF.
Los archivos múltiples se quedan locales. Adjúntalos con el selector de archivos — la API de archivos del navegador los lee en la memoria de esta pestaña — o pégalos separados por una línea que contenga solo ---. No se envía nada a ningún sitio; no hay paso de subida porque no existe.
Las reglas de comillas, CRLF y escape que la salida unida sigue se explican en términos sencillos en el sitio de Guía RFC 4180 — vale cinco minutos antes de construir una tubería sobre CSV.
Una vez que los archivos son una sola tabla, el siguiente paso habitual son registros que un script pueda consumir, y el Convertidor de CSV a JSON convierte eso en un seguimiento de un solo clic.
Unir por nombre, no por posición
La diferencia suena académica hasta que salva un archivo. Supongamos que el archivo uno tiene columnas nombre, correo electrónico y el archivo dos tiene nombre, empresa. El encabezado unido es nombre, correo electrónico, empresa — primero las columnas del archivo uno, luego la nueva columna. La fila de Ada rellena el correo electrónico; la de Grace rellena la empresa; cada una deja la otra en blanco. El ejemplo trabajado de abajo muestra exactamente este par.
Debido a que la asignación pasa por el propio encabezado de cada archivo, el orden de las columnas dentro de un archivo es irrelevante: el archivo dos podría llegar como empresa, nombre y sus valores aún se colocarían correctamente — precisamente lo que la apilación por posición hace mal, y por qué un unidor que supone encabezados idénticos es una trampa.
Archivos irregulares, BOM y otras complicaciones del mundo real
Las exportaciones reales son irregulares, y el unidor absorbe los casos comunes en lugar de rechazarlos:
- Un BOM UTF-8 al inicio de un archivo se elimina — de lo contrario, una exportación de Excel genera una primera columna invisible que nadie puede igualar.
- Las líneas en blanco se omiten, y un archivo vacío se ignora, no es fatal.
- Las filas que carecen de celdas finales se convierten en espacios en blanco — los bordes derechos irregulares se normalizan, no son errores.
- Los fallos de análisis se informan por archivo y por línea — archivo 2: campo entrecomillado no terminado, línea 4 — para que el archivo problemático se identifique a sí mismo.
- Un encabezado que repite un nombre dentro de un archivo se lee solo en su primera posición; deduplica tales encabezados si la segunda copia lleva datos.
Cómo es la salida — y lo que se niega a hacer
La salida es un documento CSV: una única fila de encabezado, luego las filas de cada archivo en orden. Los finales de fila son CRLF con un CRLF final, según RFC 4180, y los campos se entrecomillan solo cuando es necesario: una coma, una comilla (duplicada, como requiere el estándar) o un salto de línea dentro, o espacios en blanco iniciales o finales que una hoja de cálculo de otro modo eliminaría.
Los valores pasan como texto — un número de cliente 007 sigue siendo 007 — y nada se deduplica o reordena. Dos filas idénticas de entrada son dos filas de salida: colapsarlas requiere decidir qué hace que dos filas sean iguales, y esa decisión es tuya, no de la herramienta.
Preguntas frecuentes
¿Los archivos CSV que adjunto se suben?
No. Los archivos adjuntos se leen con la API de archivos del navegador en cadenas dentro de esta pestaña, se unen allí, se vuelven a escribir — nada sale del dispositivo. La página se sirve con connect-src 'self', por lo que una solicitud a otro origen es rechazada por el propio navegador, y el panel de Red no muestra tráfico mientras se ejecuta una unión. El punto es que las exportaciones de nómina se queden locales.
¿Y si mis archivos tienen columnas diferentes, o las mismas columnas en orden distinto?
Ese es el caso para el que existe la herramienta. Las columnas se unen por nombre, cada fila se reasigna según el encabezado de su propio archivo, por lo que el orden de las columnas en cualquier archivo es irrelevante. Las filas simplemente dejan en blanco las columnas que su archivo nunca tuvo.
¿Se eliminan las filas duplicadas?
No. Unir es una alineación estructural; deduplicar es una decisión separada sobre identidad — ¿todas las columnas, una clave, insensible a mayúsculas y minúsculas? — y adivinar mal borra datos reales. Las filas idénticas pasan sin cambios; aplica tu propia regla después si la necesitas.
¿Qué dialectos CSV acepta el analizador?
Delimitados por comas RFC 4180: campos entrecomillados que contienen comas, comillas y saltos de línea, comillas duplicadas, y finales de entrada CRLF o LF. Las exportaciones delimitadas por punto y coma — el predeterminado de Excel europeo — se analizan como una sola columna ancha, así que vuelve a guardarlas con comas primero. La salida siempre está delimitada por comas con finales CRLF.
¿Cómo se manejan las filas irregulares?
Una fila más corta que el encabezado de su archivo contribuye con espacios en blanco a las columnas faltantes; una fila más larga tiene sobrantes sin nombre — celdas sin nombre de columna — que se ignoran. Los nombres de encabezado repetidos dentro de un archivo se leen en la primera ocurrencia. El manejo silencioso se reserva para estos; la sintaxis malformada obtiene un error por archivo, por línea.
¿Hay un límite de tamaño para los archivos?
El límite práctico es la memoria de la pestaña del navegador. Cada archivo lo analiza el motor CSV del hilo principal del sitio, que rechaza entradas superiores a 8 MB con un mensaje claro en lugar de congelar la página — el mismo límite documentado que aplican las otras herramientas CSV del sitio. Para exportaciones típicas eso son decenas de miles de filas por archivo.
¿Qué herramientas relacionadas debería usar después?
- Convertir CSV a JSONConvierte una exportación de hoja de cálculo en registrosAbrir
- Convertir JSON a CSVConvierte registros a una hoja de cálculo, anidados incluidosAbrir
- CSV a YAMLConvertidor que funciona en tu navegadorAbrir
- YAML a CSVConvertidor que funciona en tu navegadorAbrir
- Reglas de CSV RFC 4180Guía en lenguaje sencilloAbrir
- Formatear JSONIndenta, ordena claves y quita comentariosAbrir