Divide un CSV demasiado grande
El portal acepta 5.000 filas cada vez y tu exportación tiene 84.000. Aquí el archivo se corta en trozos, cada uno con la fila de encabezado repetida arriba, listos para subir uno detrás de otro. El archivo se queda en tu dispositivo.
Cada trozo se abre ya con las columnas en su sitio
La fila de encabezado se copia arriba de cada trozo, y no es un adorno: sin ella, el portal que recibe el segundo archivo lee al primer cliente como si fuera el nombre de las columnas, y ese cliente desaparece. Vale lo mismo para Excel, para el programa de gestión y para cualquiera que reciba los trozos: un CSV sin encabezado es una tabla que ya nadie sabe leer.
Delante de los trozos van también los tres bytes que se llaman marca UTF-8, los que hacen que Excel abra «città» en vez de «città ». Es el motivo por el que el mismo archivo se ve bien en un editor y mal en Excel, y es la queja número uno de quien divide los CSV a mano. Con una excepción, declarada: si el archivo de partida no está escrito en UTF-8 (muchos programas de gestión todavía exportan en la vieja codificación de Windows) esa marca le diría a Excel algo falso, así que no se pone y la página te lo escribe.
Los trozos juntados otra vez devuelven el archivo de partida, byte a byte
Esta página no reescribe nada: no vuelve a codificar el texto, no toca las comillas, no cambia el separador, no recoloca los decimales. El archivo se recorre byte a byte solo para marcar dónde termina cada fila, y los trozos son recortes del original. La promesa cabe en una línea, y es sobre la que está construida la prueba: juntando los trozos, quitadas la marca UTF-8 y los encabezados repetidos, se recupera exactamente el archivo de partida.
De ahí viene también cómo se tratan las comillas. Un campo puede contener el separador, comillas dobladas e incluso un salto de línea dentro del campo, que es la trampa que rompe casi todas las divisiones hechas con un editor de texto: ahí dentro el salto de línea no termina la fila, y cortar ahí parte el registro por la mitad. Aquí una fila termina solo donde termina de verdad el registro. Por el mismo motivo una línea completamente vacía se queda donde está: tirarla quedaría más limpio y rompería la promesa de arriba.
Por filas o por peso: son dos preguntas distintas
«Cinco mil filas cada vez» lo pide un portal, que cuenta registros; «como mucho 10 MB» lo pide un buzón de correo o un formulario de subida, que cuenta bytes. La cuenta en filas es exacta por definición. La del peso también, y merece la pena decir por qué: un trozo aquí es la suma de tres tramos de bytes, así que su peso se sabe antes de escribirlo, no se estima; el trozo se cierra antes de meterle la fila que lo reventaría, así que cada trozo es lo más largo posible. Antes de llegarte, el archivo montado se pesa igualmente de verdad, y si el peso no coincide con la cuenta la página lo dice en vez de darte un archivo del que no puede responder.
Dos cosas que conviene saber sobre los megabytes. Aquí 1 MB significa un millón de bytes, como los cuentan los sitios y los buzones: si quien pide el archivo se refería a los 1.048.576 de Windows, tus trozos se quedan por debajo igualmente. Y un adjunto de correo se reescribe en una forma que lo hace crecer alrededor de un tercio: con un buzón que acepta 25 MB, el archivo de verdad tiene que quedarse por debajo de 18-19. Si estás preparando un correo, apunta ahí. Y queda el caso límite: una fila que ella sola supera el límite no se puede partir en dos, así que acaba en un trozo suyo y se señala.
Lo que esta página no hace
No abre los archivos de Excel. Un .xlsx es un archivo comprimido, no un CSV, y el lector de esos archivos ya vive en otra página del sitio: tener dos copias es la manera segura de hacerlas divergir. Si lo que tienes es un .xlsx, el paso es Excel (XLSX) a CSV.
No repara y no limpia: si el archivo tiene filas con un número de columnas distinto, espacios de más o duplicados, esos defectos siguen igual dentro de los trozos, porque los trozos son el original recortado. El sitio adecuado para ese trabajo es Limpiar un CSV. Si en cambio necesitas el gesto contrario, o sea juntar varios CSV en uno solo, está Unir dos archivos CSV. Y si los trozos divididos aquí hay que abrirlos en Excel sin perder los ceros de delante de los códigos ni convertir los códigos postales en números, el paso es De CSV a Excel.