Un gigabyte de CSV son más o menos de cinco a diez millones de filas de datos tabulares corrientes. Ese número importa más que el gigabyte, porque ya es cinco veces lo que cabe en una hoja de cálculo, así que lo primero es aceptar que «ábrelo en Excel» nunca estuvo entre las opciones.
Lo que sí está depende de una pregunta: ¿necesitas mirar el archivo o necesitas sacarle una respuesta?
- Una respuesta — un total, un filtro, un join, un conteo de duplicados: DuckDB. Un comando, diez segundos, sin importar nada.
- Mirarlo — desplazarte, buscar, echar un vistazo a la forma de los datos: un visor hecho para leer en streaming. EmEditor en Windows,
lessen cualquier parte, una app del teléfono si el archivo está ahí. - Editarlo y guardarlo de nuevo: el caso más difícil, con las menos respuestas buenas. Más abajo.
La comparación
Los tiempos son para un archivo de 1 GB y unos 8 millones de filas en un portátil normal de 16 GB con SSD. Son orientativos, no benchmarks. Tus columnas y tu disco los moverán. La columna que no se mueve es la última.
| Herramienta | ¿Abre 1 GB? | Tiempo hasta la primera fila | RAM máxima | Costo |
|---|---|---|---|---|
| Excel | No — tope de 1.048.576 filas | — | — | De pago |
| Excel + Power Query | Sí, como paso de carga | Minutos | Alta | De pago |
| Google Sheets | No — 10 M de celdas, ~100 MB de subida | — | — | Gratis |
| Numbers | No — 1 M de filas, y se vuelve lento antes | — | — | Gratis |
| DuckDB | Sí | ~1 s | ~200 MB | Gratis |
| Python + pandas | Sí, con chunksize | 30 s+ | 5–10 GB si se usa a lo ingenuo | Gratis |
| Python + Polars | Sí | ~5 s | ~1,5 GB | Gratis |
| EmEditor (Windows) | Sí, con holgura | ~5 s | Baja | De pago |
| VS Code | Le cuesta | 30 s+ | Alta | Gratis |
less / head / awk | Sí | Instantáneo | ~0 | Gratis |
| OpenRefine | Sí, despacio | Minutos | Alta | Gratis |
| App de CSV para el teléfono | Sí, si está hecha para eso | Segundos | Gestionada | Plan gratuito |
Dos filas son trampas. Google Sheets anuncia 10 millones de celdas, lo que suena cercano, pero un archivo de 20 columnas llega a ese tope con 500.000 filas, y el límite de subida te frena mucho antes. pandas abre el archivo sin protestar y luego usa ocho veces su tamaño en RAM, porque guarda cada columna de texto como objetos de Python. Esa es la experiencia de «se abrió, pero el portátil está muerto» por el swap desbocado.
Según lo que de verdad estés haciendo
Necesitas una respuesta
DuckDB, y no hay color:
duckdb -c "SELECT region, COUNT(*), SUM(amount) FROM 'big.csv' GROUP BY region"
Lee el archivo en paralelo, lo procesa en streaming en vez de cargarlo y nunca reserva mucho más que el espacio de trabajo de tu consulta. Un GROUP BY sobre 8 millones de filas termina en un par de segundos. El tratamiento completo (forzar tipos, unir dos archivos, escribir los resultados) está en ejecutar consultas SQL sobre un CSV sin base de datos.
Si prefieres quedarte en Python, usa Polars con scan_csv (perezoso: planifica toda la consulta antes de leer) o pandas con un chunksize explícito y un mapa de dtype. Lo que hay que evitar es el pd.read_csv('big.csv') ingenuo.
Necesitas mirarlo
En Windows, EmEditor. Es el único editor de archivos grandes que aguanta, y abre CSV de varios GB como una cuadrícula con orden y filtro. Es de pago; lo vale si esto te pasa seguido.
En cualquier parte, la terminal. Subestimada para los primeros cinco minutos con cualquier archivo grande:
head -5 big.csv # what are the columns
wc -l big.csv # how many rows really
awk -F, 'NR<=1000' big.csv > sample.csv # a slice you can open normally
less -S big.csv # scroll it, no line wrapping
Hacer una muestra de 1.000 filas y abrir esa en Excel responde «¿qué hay en este archivo?» más rápido que cualquier herramienta que abra el archivo completo.
Ni VS Code ni Notepad++. Los dos cargan el archivo entero en memoria como texto. Lo logran, pero despacio, con una advertencia y sin una vista de tabla útil al final.
El archivo está en tu teléfono
El caso de 1 GB es difícil aquí: los teléfonos tienen menos RAM que los portátiles y límites más estrictos sobre lo que una app puede retener. Nada en un teléfono abre un gigabyte completo con comodidad, así que prueba cualquier app que diga lo contrario antes de confiar en ella. Lo que las apps móviles hacen bien es el rango justo por debajo: las exportaciones de 100–500 MB y varios cientos de miles de filas que una hoja de cálculo del teléfono trunca en silencio.
Abre archivos grandes sin truncarlos y luego responde preguntas sobre los datos con SQL o en lenguaje natural, que suele ser lo que querías de un archivo demasiado grande para desplazarte. iOS y Android.
Qué haceAntes de confiarle a una app del teléfono un archivo que importa, haz la comprobación de la última sección de esta página.
Necesitas editarlo y guardarlo de nuevo
Este es el caso con menos respuestas honestas, porque «editar» significa mantener el archivo y volver a escribirlo completo.
- Unos pocos cambios puntuales — corregir un valor, quitar una columna: hazlo con DuckDB o
awky escribe un archivo nuevo. Es más rápido que cualquier herramienta interactiva y deja intacto el original. - Edición interactiva real en Windows: EmEditor.
- Edición interactiva real en otros sistemas: divide el archivo primero.
split -l 1000000 big.csv part_te da trozos que una hoja de cálculo puede contener, a costa de tener que volver a unirlos (catsirve, pero borra las filas de encabezado repetidas). - Por debajo de unas 500.000 filas, un editor del teléfono lo maneja directamente:
Edición al estilo hoja de cálculo en archivos de 500.000 filas, con todas las filas reescritas al guardar, también en la versión gratuita. iOS y iPadOS.
Qué haceEliminar el problema convirtiendo el archivo
Si vas a tocar el archivo más de dos veces, deja de tratarlo como CSV:
duckdb -c "COPY (SELECT * FROM 'big.csv') TO 'big.parquet'"
Parquet es columnar, tipado y comprimido. El CSV de 1 GB pasa a 100–200 MB, las consultas que recorren unas pocas columnas van de cinco a veinte veces más rápido, y los tipos con los que peleabas ahora quedan guardados en el archivo. DuckDB, Polars y pandas lo leen de forma nativa. Son los diez segundos más rentables de este artículo.
Comprobar si una herramienta realmente lo abrió
Muchas herramientas abren un CSV grande abriendo solo una parte y sin decir cuál. Antes de sacar una conclusión de un archivo, comprueba:
- Cuenta primero las filas, fuera de la herramienta:
wc -l big.csv. Réstale uno por el encabezado. - Ve a la última fila en la herramienta y compara el conteo.
- Compara el contenido de la última fila con
tail -1 big.csv.
Si no coinciden, la herramienta truncó. Cualquier conclusión que saques (un total, un máximo, «no hay pedidos de esa región») queda mal de una forma que nada en pantalla te avisa. El truncado silencioso es el verdadero peligro con archivos grandes, más que los cierres inesperados: un cierre al menos es honesto.
Si lo que falló fue Excel
Dos problemas vecinos que es fácil confundir. Si Excel rechazó el archivo o mostró solo una parte, es el tope de filas, y cómo abrir un archivo CSV grande que Excel no abre explica los caminos para esquivarlo. Si Excel abrió el archivo y luego se congeló, se colgó o se cerró, es otra falla con otras causas, explicada en por qué Excel falla con archivos grandes.