Página 1 de 1

Manejos de archivos de texto de gran tamaño

NotaPublicado: 2017-01-24 22:09 @964
por MARKO
Saludos, Perl en Español.

Les comento que tengo a mi cargo el manejo de cierta información que está dividida en 6 archivos .txt los cuales están escritos en columnas con encabezados y separados por tabuladores "\t". Dichos archivos son bastante extensos (250 MB cada uno) y la información que contienen tiene información relacional entre los archivos.

Pretendo ingresar la información a bases de datos MySQL con DBI y para el procesamiento de archivos pienso leer los archivos línea a línea.

A continuación, una idea de mi código:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. @archivos ; # acá tengo las direcciones de los archivos .txt
  2.  
  3. foreach my $archivo (@archivos){
  4.     open (ARCHIVO, $archivo);
  5.  
  6.     while(my $fila = <ARCHIVO>){
  7.         my @arreglo_fila = split '\t', $fila;
  8.         #
  9.         # acá pretendo poner la consulta que ingresará la información a base de datos
  10.         #
  11.     }
  12.     close ARCHIVO;
  13. }
  14.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Me pregunto si me aconsejan algo para hacer mejor mi procesamiento de estos archivos tan grandes.

Gracias por adelantado.

Re: Manejos de archivos de texto de gran tamaño

NotaPublicado: 2017-01-25 07:56 @372
por explorer
Si los archivos están bien formados... yo usaría el comando LOAD DATA INFILE de MySQL.

Obtendrás la máxima velocidad y comodidad.

Re: Manejos de archivos de texto de gran tamaño

NotaPublicado: 2017-02-22 06:57 @331
por charlygarcia
Definitivamente, lo que dice explorer: aumentarás dramáticamente la carga en la BD.

Re: Manejos de archivos de texto de gran tamaño

NotaPublicado: 2017-08-14 22:20 @972
por MARKO
Como siempre arreglaste mi problema, explorer :D