Re: Importar fichero CSV

From: Javier Estévez CIFA Córdoba <javier(dot)estevez(dot)ext(at)juntadeandalucia(dot)es>
To: "Henry" <hensa22(at)yahoo(dot)es>, <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Importar fichero CSV
Date: 2007-04-02 12:01:03
Message-ID: 014801c7751e$96792960$6d64460a@cfco04.cap.juntaandalucia.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ya lo probé y no funciona...
----- Original Message -----
From: Henry
To: pgsql-es-ayuda(at)postgresql(dot)org
Sent: Saturday, March 31, 2007 2:58 PM
Subject: Re: [pgsql-es-ayuda] Importar fichero CSV

From: Javier Estévez CIFA Córdoba
To: pgsql-es-ayuda(at)postgresql(dot)org
Sent: Friday, March 30, 2007 1:21 PM
Subject: [pgsql-es-ayuda] Importar fichero CSV

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.

He intentado hacerlo así en un principio:

COPY table FROM 'ruta de mi archivo.dat'

Pero da el siguiente ERROR:

"extra data after las expected column"

Sería posible hacer una función que me importe este archivo, me reconozca las filas de uno u otro tipo y me las introduzca en una u otra tabla?
lo que puedes hacer es crear una tabla con el maximo valor de columnas que necesites, si tu primera tabla tienes 7 campos y tu segunda tabla tienes 10 campos, entonces create un tabla de 10 campo, y ahi importa tu archivo CSV.

una vez ya importado a esta tabla puedes hacer un
insert into tabla_7_capos select ................ where campo10 is null. (para tu tabla de 7 campos)

y

insert into tabla_10_campos select ...............tabla_copy where campo10 not is null. (para tu tabla de 10 campos).

espero ayude.

Saludos.

------------------------------------------------------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2007-04-02 12:37:39 Re: No se me ejecutan los jobs que hago en el pgAdmin III.
Previous Message Oswaldo Hernández 2007-04-02 11:56:51 Re: Sentencia SQL para dos registros por grupo