Procesar archivos CSV grandes. MUY grandes.

Esto no es algo que se use todos los días, pero en algún proyecto puedes necesitar /por lo que sea/ procesar un fichero de casi 200 MB que relaciona autores con su producción científica.

https://www.splitcsv.com/ es tu solución.

Y a procesar por lotes, poquito a poco.

Actualización 11/06/2021:

Gracias al simpar Cálix Sierra descubro un comandito MySQL que resuelve esta cuestión de una forma mucho mejor, más flexible, más ágil, más todo:

LOAD DATA LOCAL INFILE

El procedimiento es sencillo:

  1. Creas una BD MariaDB / MySQL con el mismo numero de campos que tu archivo CSV, teniendo en cuenta lso tipos de datos que te intereresen.
  2. Subes tu CSV al servidor
  3. Conectas a MySQL y le das a la mágia, algo como:
LOAD DATA LOCAL INFILE 'tufichero.csv' INTO TABLE tutabla
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(col1, col2, col3, col4, col5...);

En segundos tendrás una tabla con todos tus registros, y a procesar cómodamente con sentancias SQL.

Es autodescriptivo si te suenan estas cosas, pero la doc oficial está aquí: https://dev.mysql.com/doc/refman/5.7/en/load-data.html

Dejar un comentario

Tu dirección de correo electrónico no será publicada.