[Pgsql-ayuda] Insertar valores de un archivo de texto

Alvaro Herrera alvherre@dcc.uchile.cl
Mon, 12 Jan 2004 15:01:25 -0300


On Sun, Jan 11, 2004 at 10:48:43AM -0500, postgres@enelserver.com wrote:

> > "EPS034";"RC";"3393047";"HERNANDEZ";"LOPEZ";"NICOLE";"NAIAN";22/1/1999;"5"
> > "EPS034";"RC";"3393047";"HERNANDEZ";"LOPEZ";"NICOLE";"NAIAN";22/1/1999;"5"
> 
> #!/usr/bin/perl
> 
> open (ARCHIVO , 'tuarchivoconlainformacion')
>           || die ' no se abrio el archivo';
> 
> while (<ARCHIVO>){
>     chomp;
>     $_ =~s/\"/\'/g;
>     @data = split (/;/);

Ojo, esto falla si tienes un campo del estilo "Hernandez;Salgado".  En
general separar campos no es tan trivial en el caso general.  Si se
tiene esta situacion se necesita una correccion a este script, la cual
queda de ejercicio para el lector.

Otro hint: es mejor usar COPY que un INSERT para cada linea, es mucho
mas rapido.

> Se puede hacer que el mismo script  lo inserte en la base de datos pero es
> domingo y ya va a iniciar el partido de Kansas Vs Indianapolis y seguido
> de Green Bay VS Philadelphia.  De hecho la temporada termino cuando
> eliminiaron a mis  49ers

:-D

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Everybody understands Mickey Mouse. Few understand Hermann Hesse.
Hardly anybody understands Einstein. And nobody understands Emperor Norton."