Divisor de CSV

Divide un archivo CSV grande en archivos más pequeños por número de filas, número de archivos o tamaño. Cada parte conserva el encabezado, los campos entre comillas se mantienen enteros y nada sale de tu navegador.

Los archivos se procesan localmente en tu navegador y nunca se suben.

Los archivos se procesan localmente en tu navegador y nunca se suben.

Cómo funciona el divisor

El archivo se lee como un flujo de bytes y se corta solo en los límites de fila, de modo que cada archivo de salida es un CSV válido por sí mismo.

  1. 1

    Encontrar dónde termina cada fila

    Los bytes se recorren una sola vez. Un salto de línea termina una fila solo cuando está fuera de comillas dobles, así que un salto dentro de un campo entre comillas, como una dirección de varias líneas, nunca parte una fila en dos.

  2. 2

    Cortar en los límites de fila

    Por filas: cada N filas de datos empieza un archivo nuevo. Por número de archivos: primero se cuenta el total de filas y luego se reparten lo más uniformemente posible. Por tamaño: se añaden filas hasta que la siguiente superaría el límite.

  3. 3

    Ensamblar cada parte

    Cada archivo de salida es los bytes del encabezado original más un rango de bytes del archivo original. No se decodifica, recodifica ni copia nada, y por eso un archivo de varios gigabytes se divide en segundos sin agotar la memoria.

Qué se conserva y qué no se admite

  • Las filas nunca se parten, ni siquiera cuando una sola fila supera el límite de tamaño; esa fila se convierte en su propio archivo.
  • Los campos entre comillas siguen RFC 4180: las comas, los saltos de línea y las comillas dobladas ("") dentro de las comillas son datos.
  • El delimitador (coma, punto y coma, tabulador o barra vertical) se detecta en la primera fila y puede cambiarse. Afecta a cómo se interpretan las comillas y a la vista previa, no a dónde terminan las filas.
  • La marca de orden de bytes UTF-8 y los finales de línea CRLF de Windows se mantienen en cada parte, así que Excel abre las piezas exactamente como el original.
  • Los archivos UTF-16 se rechazan con un mensaje; guárdalos primero como UTF-8. Se crean como máximo 5.000 archivos de salida por ejecución.
  • La descarga en ZIP usa el método store (sin compresión) y está limitada a 4 GB en total; los resultados mayores pueden descargarse archivo por archivo.

Ejemplos resueltos

Ambos ejemplos usan los archivos de muestra integrados, así que puedes cargarlos y comprobar cada cifra.

Dividir 12.000 filas de pedidos en archivos de 5.000 filas

Carga el ejemplo «Pedidos (12.000 filas)», mantén «Filas por archivo», escribe 5000 y deja activado el interruptor de encabezado.

  1. 1La primera línea «order_id,order_date,…» es el encabezado. Las 12.000 líneas restantes son filas de datos.
  2. 212.000 ÷ 5.000 = 2 archivos completos y sobran 2.000 filas, así que se producen tres archivos.
  3. 3Los archivos 1 y 2 contienen las filas 1–5.000 y 5.001–10.000. El archivo 3 contiene las filas 10.001–12.000.
  4. 4Cada archivo empieza con la misma línea de encabezado, por lo que tienen 5.001, 5.001 y 2.001 líneas respectivamente.

Resultado: orders-2026_part_01.csv (5.000 filas), orders-2026_part_02.csv (5.000 filas), orders-2026_part_03.csv (2.000 filas). Juntos contienen exactamente las 12.000 filas originales.

Dividir 600 tickets de soporte con notas multilínea en 4 archivos

Carga el ejemplo «Tickets con notas multilínea», elige «Número de archivos» y escribe 4.

  1. 1La columna notes contiene texto entre comillas con comas, comillas dobladas y saltos de línea. La primera pasada cuenta las filas ignorando los saltos dentro de comillas y encuentra 600 filas de datos.
  2. 2Filas por archivo = ceil(600 ÷ 4) = 150.
  3. 3Las filas se reparten en orden: tickets T-0001–T-0150, T-0151–T-0300, T-0301–T-0450, T-0451–T-0600.
  4. 4Un ticket cuya nota ocupa tres líneas sigue cayendo en un solo archivo, porque el corte solo ocurre al final de una fila fuera de comillas.

Resultado: cuatro archivos de 150 tickets cada uno. Abre cualquier parte en una hoja de cálculo y las notas multilínea siguen siendo una sola celda.

Preguntas frecuentes

Preguntas sobre cómo este divisor de CSV maneja archivos, encabezados y codificaciones.

¿Mi CSV se sube a un servidor?

No. El archivo se lee con la File API del navegador y se divide en rangos de bytes en tu dispositivo. No hay subida, y al cerrar la pestaña se descarta todo.

¿Qué tamaño de CSV puedo dividir?

El archivo se transmite en flujo, así que su tamaño no afecta a la memoria; los archivos de más de 1 GB se dividen sin problema. El límite práctico es la descarga en ZIP, limitada a 4 GB. Los resultados mayores pueden descargarse archivo por archivo.

¿Cada archivo de salida conserva la fila de encabezado?

Sí. Cuando «La primera fila es el encabezado» está activado, el encabezado se repite al inicio de cada parte. Desactívalo si tu archivo no tiene encabezado; entonces la primera línea se trata como datos.

¿Qué pasa con los campos entre comillas que contienen comas o saltos de línea?

Se mantienen intactos. Un salto de línea dentro de comillas dobles se trata como parte del campo, no como fin de fila, y las comillas dobladas ("") se reconocen como comillas escapadas.

¿Qué delimitadores se admiten?

Coma, punto y coma, tabulador y barra vertical. El delimitador se detecta en la primera fila y puedes cambiarlo si la detección es incorrecta.

¿Excel abrirá correctamente los archivos divididos?

Sí. Si el archivo original tiene una marca de orden de bytes UTF-8 o finales de línea de Windows, cada parte los conserva, así que Excel lee las piezas igual que leyó el original.

¿Debo dividir por filas o por tamaño?

Divide por filas cuando el destino tiene un límite de filas, por ejemplo las 1.048.576 filas por hoja de Excel o una herramienta de importación que acepta 10.000 filas por vez. Divide por tamaño cuando el destino tiene un límite de subida en megabytes. Divide por número de archivos cuando quieres trozos iguales para procesamiento en paralelo.

¿Cómo vuelvo a unir las partes en un solo archivo?

Concaténalas y elimina las líneas de encabezado repetidas. En macOS o Linux: head -n 1 part_01.csv > all.csv; tail -n +2 -q part_*.csv >> all.csv. En Python, pandas.concat sobre las partes hace lo mismo.