CSV GRANDE · GUÍA PRÁCTICA
Cómo dividir un archivo CSV grande
Un CSV que no se abre en Excel, ralentiza el equipo o resulta difícil de compartir se vuelve más manejable si se divide con el criterio adecuado. Esta guía compara Excel, Power Query, Python y LocaCSV, y explica cómo separar las filas por el valor de una columna sin romper las comillas ni los saltos de línea.
Conclusión: elige el método según el tipo de división
Con un CSV de hasta 50 MiB, LocaCSV permite dividir por valor de columna, por una cantidad fija de filas de datos o por tamaño objetivo dentro del navegador, con hasta 100 salidas.
Para entradas de más de 50 MiB, claves compuestas o tareas programadas, un script local de Python ofrece más control. Abrir un CSV muy grande en Excel y separarlo a mano suele ser menos fiable por el límite de filas, el consumo de memoria y el riesgo de omitir o duplicar registros.
Por qué no se abre un CSV grande
Aunque un CSV sea texto plano, el programa que lo abre tiene límites. Una hoja de Excel admite como máximo 1.048.576 filas. Un archivo que supere esa cifra no cabe en una sola hoja. Incluso por debajo del límite, la importación puede ralentizarse por registros anchos, celdas largas, detección de tipos, memoria disponible o un separador incorrecto.
- El archivo contiene más filas de las que admite una hoja de Excel.
- La aplicación expande el archivo en memoria y se queda sin recursos disponibles.
- El separador se detecta mal y un registro se interpreta como una cantidad anormal de columnas.
- Una división simple por comas o saltos de línea rompe comas entre comillas, comillas escapadas o saltos dentro de una celda.
- La codificación seleccionada no coincide con UTF-8, Windows-1252 u otra codificación del sistema de origen.
- Excel convierte automáticamente identificadores, ceros iniciales, números largos o texto que parece una fecha.
Comparativa: Excel, Power Query, Python y LocaCSV
La mejor opción depende de la regla de división, el tamaño, la frecuencia y la posibilidad de mantener código.
| Método | Cuándo conviene | Ventajas | Limitaciones |
|---|---|---|---|
| Excel | Un CSV más pequeño que quieres revisar y dividir una vez | Interfaz visual conocida | Límite de 1.048.576 filas; los archivos grandes son lentos y el trabajo manual puede omitir o duplicar filas |
| Power Query | Importaciones y transformaciones reutilizables dentro de Excel | Mantiene intacto el origen y permite actualizar los pasos | Al cargar en una hoja se mantiene el límite de filas; exportar un CSV por valor exige trabajo adicional |
| Python | Más de 50 MiB, reglas por filas o tamaño y procesos periódicos | Control preciso del flujo, nombres, validación y automatización | Debes mantener el entorno, el código, las pruebas, la codificación y los errores |
| LocaCSV | Dividir hasta 50 MiB por valor, filas o tamaño objetivo | Sin cuenta ni instalación; procesa en el navegador y entrega un ZIP | Hasta 100 salidas; el modo por valor usa una columna |
import csv
from pathlib import Path
source = Path("large.csv")
output_dir = Path("split")
output_dir.mkdir(exist_ok=True)
handles = {}
writers = {}
try:
with source.open("r", encoding="utf-8-sig", newline="") as input_file:
reader = csv.DictReader(input_file)
key_column = "department"
for row in reader:
key = row.get(key_column, "") or "(blank)"
if key not in writers:
output = output_dir / f"group-{len(writers) + 1:03d}.csv"
handle = output.open("w", encoding="utf-8-sig", newline="")
writer = csv.DictWriter(handle, fieldnames=reader.fieldnames)
writer.writeheader()
handles[key] = handle
writers[key] = writer
writers[key].writerow(row)
finally:
for handle in handles.values():
handle.close()Cómo dividir un CSV con LocaCSV
LocaCSV interpreta las comas, el punto y coma, las comillas dobles, las comillas escapadas y los saltos dentro de una celda según las reglas de CSV. La vista previa es la mejor comprobación inicial: corrige el separador o la codificación antes de ejecutar si las columnas no encajan.
- Abre Dividir CSV y selecciona un único archivo CSV.
- Confirma si contiene encabezado y revisa la codificación y el separador de entrada. No continúes si la vista previa muestra columnas desplazadas.
- Elige como método Valor de columna, Número de filas o Tamaño objetivo.
- En el modo por valor configura la columna y los vacíos; en los otros, las filas de datos por archivo o el objetivo en MiB.
- Confirma la codificación de salida, la opción BOM de UTF-8 y el separador, y ejecuta la división.
- Revisa las filas de entrada, salida y excluidas, el número de archivos y los avisos antes de descargar el ZIP.
Cómo funciona la división por valor de columna
La división por valores crea un archivo para cada categoría de una columna, por ejemplo tienda, departamento, cliente o mes. Si la columna Sucursal contiene Madrid, Bogotá y Buenos Aires, todas las filas con el mismo valor van al mismo CSV y se generan tres resultados.
Si los encabezados están repetidos, faltan o contienen espacios adicionales, utiliza la vista previa y el número de columna desde 1. Cuando un valor incluye caracteres no permitidos en nombres de archivo de Windows o coincide con un nombre reservado, LocaCSV lo convierte en un nombre seguro.
- Las filas con el mismo valor permanecen en el mismo archivo.
- Los valores vacíos se pueden excluir o guardar en una salida específica.
- Solo se puede elegir una columna por ejecución.
- Si se crearían más de 100 salidas, el proceso se detiene y no publica un ZIP parcial.
- Antes de ofrecer el ZIP, comprueba que las filas de entrada sean iguales a las filas de salida más las excluidas.
Advertencias sobre filas y tamaño de archivo
El tamaño no determina por sí solo la dificultad de un CSV. Dos archivos de 50 MiB pueden comportarse de forma distinta si uno contiene millones de registros cortos y el otro incluye celdas muy largas o muchos saltos de línea entre comillas.
El límite público de la versión gratuita para una herramienta de entrada única es un archivo de hasta 50 MiB. El equipo, el navegador, la estructura del CSV y el volumen de salida pueden hacer que un archivo menor también sea difícil. Cambiar el nombre o entregar un ZIP no evita el límite.
- El modo por filas no cuenta el encabezado entre las filas de datos.
- El tamaño objetivo usa los bytes reales tras codificar la salida, incluido el BOM y el encabezado repetido. Un registro que por sí solo exceda el objetivo se conserva completo en su propio archivo.
- Puede haber como máximo 100 archivos de salida en cualquier modo.
- Conserva el original, guarda el ZIP por separado y comprueba los recuentos.
- Si abrirás cada salida en Excel, verifica que tenga menos de 1.048.576 filas.
Codificación, separadores y caracteres incorrectos
En archivos procedentes de Windows y sistemas administrativos en español es habitual encontrar Windows-1252, además de UTF-8. LocaCSV permite elegir Windows-1252 manualmente. Comprueba en la vista previa tildes, eñes, signos de apertura, el símbolo del euro y comillas tipográficas.
Según la configuración regional de Excel, un CSV puede usar punto y coma porque la coma se reserva como separador decimal. LocaCSV detecta o permite elegir coma, punto y coma, tabulación y barra vertical; el idioma de la interfaz no cambia automáticamente el separador. Para Excel, UTF-8 con BOM puede reconocerse mejor. Si la codificación de salida no puede representar un carácter, LocaCSV se detiene en lugar de sustituirlo silenciosamente por «?».
- Revisa á, é, í, ó, ú, ñ, ü, ¿, ¡, €, comillas y guiones en la vista previa.
- Si todas las columnas aparecen juntas o desplazadas, comprueba primero coma o punto y coma.
- Si desconoces la codificación, revisa la configuración de exportación del sistema de origen.
- No guardes un resultado con caracteres dañados sobre el original; vuelve a empezar desde el archivo fuente.
Seguridad y procesamiento local
LocaCSV procesa el CSV en un Web Worker dentro de tu navegador. El contenido, el nombre del archivo, los encabezados, los valores de las celdas y los valores de división no se suben a un servidor externo para realizar el procesamiento. Los resultados también se crean localmente y las referencias retenidas se liberan después de descargar o restablecer.
El sitio informativo público utiliza Cloudflare Web Analytics para medir páginas vistas. El sitio de procesamiento no carga SDK de publicidad ni analítica. Solo envía eventos mínimos propios y sin identificadores, limitados a campos como la operación, el intervalo de tamaño, el intervalo de duración y un código de error fijo. No incluyen contenido del CSV, nombres, tamaño exacto ni número de filas, y un fallo de envío no bloquea el proceso ni la descarga.
Si trabajas con datos confidenciales, revisa también la política de tu organización, la seguridad del dispositivo, las extensiones del navegador y los permisos de la carpeta de descargas. Que el procesamiento sea local no protege automáticamente todo el equipo.
Preguntas frecuentes sobre CSV grandes
¿Puedo dividir un CSV que Excel no abre?
Si ocupa 50 MiB o menos, utiliza una codificación y un separador compatibles y genera como máximo 100 salidas, LocaCSV puede dividirlo. Puede leer un CSV aunque supere las filas de una hoja de Excel, pero el límite práctico depende del equipo y de la estructura.
¿Puedo dividir cada 100.000 filas o cada 10 MB?
Sí. El modo por filas excluye el encabezado. El tamaño objetivo admite de 0,1 a 50 MiB y mide los bytes codificados, incluidos BOM y encabezado. Un registro nunca se corta, por lo que uno muy grande puede superar el objetivo.
¿Puedo procesar un CSV de más de 50 MiB?
La versión gratuita pública limita las herramientas de entrada única a un archivo de hasta 50 MiB. LocaCSV no anuncia compatibilidad pública con archivos mayores; primero debes dividir el origen de forma local.
¿Qué hago si Excel espera punto y coma?
Selecciona Punto y coma (;) como separador de entrada o salida y revisa la vista previa. LocaCSV no cambia el separador por estar en español, porque la configuración regional y el sistema de destino pueden ser distintos.
¿Se sube mi CSV a un servidor?
El contenido, el nombre del archivo, los encabezados, los valores de celdas y los valores de división no se suben para procesarlos. La división y la creación del ZIP se realizan en tu navegador.