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
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 |