Re: Importar fichero CSV

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Javier Carlos <javier(at)nediam(dot)com(dot)mx>
Cc: Javier Estévez CIFA Córdoba <javier(dot)estevez(dot)ext(at)juntadeandalucia(dot)es>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Importar fichero CSV
Date: 2007-03-30 13:39:05
Message-ID: 20070330133905.GD4215@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


> > Hola, necesito importar un fichero de texto en .DAT que realmente es
> > un CSV e incorporarlos en mi BD postgresql, concretamente a 2 tablas.
> > Unos registros irían a una tabla y otros a otra.
> >
> > El problema es que tengo algunas FILAS en el archivo que tienen más
> > "columnas" que otras. Concretamente las esas son las filas que
> > corresponden a una y otra tabla.

Imposible. Divide el archivo primero en dos partes, y luego haces COPY
de cada una de las partes.

La parte mas "dificil" seria dividir el archivo, pero como no nos has
dicho que estructura tiene cada linea es dificil saberlo.

Una manera seria lo que propone Mario: un programa en Python o Perl, que
hace un "split" de cada linea a un arreglo; luego le preguntas que
tamaño tiene el arreglo resultante, y dependiendo de eso decides que
tabla le toca, y haces un INSERT en ella.

Lo que yo haria seria un programa en shell (quizas en awk? o en perl)
que divida el archivo y arroje las lineas a dos archivos separados, y
luego haria COPY de los dos archivos de salida.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guido Barosio 2007-03-30 13:43:42 Re: Importar fichero CSV
Previous Message Mario Gonzalez 2007-03-30 13:27:38 Re: Importar fichero CSV