Importar datos a Postgres desde Excel

La situación es la siguiente:

  • Postgres instalado en Linux
  • PgAdminIII en un sistema operativo windows 7
  • Un archivo de Excel con 400.000 registros que deseo llevar a una tabla en Postgres

Estos son los pasos a seguir:

Lo primero que debemos hacer es convertir el archivo de excel a un archivo .CSV (delimitado por comas). Luego al archivo lo abrimos con el bloc de notas y lo guardamos como archivo .txt con codificación UTF8, cada tupla separado por el caracter ” ; “.

La tabla a la cual vamos a importar los registros debe tener la misma cantidad de campos que las columnas del archivo de texto.

Ahora viene lo bueno, debemos copiar el archivo de texto y pegar en el servidor Linux (donde esta instalado Postgres), bajo una carpeta determinada.

Abrir el PgAdmin desde windows y escribir la siguiente línea (como ejemplo):

COPY ciudadanos FROM ‘/var/www/importar/archivo.txt‘ USING DELIMITERS ‘;’

Donde ciudadanos es el nombre de la tabla, /var/www/importar/archivo.txt la ruta donde guardé el archivo de texto con los registros, y ‘;’ es el caracter que delimita las tuplas.

En algunos foros comentan que la importación se puede hacer con el archivo almacenado en windows, es decir con una ruta similar a esta: c:/importar/archivo.txt, pero les cuento que no funcionó, el archivo con los registros debe estar almacenado en el mismo computador o servidor donde se encuentra Postgres instalado.

Este Post lo escribí en base a una experiencia propia, si tienen otras alternativas por favor comenten, así podemos dar una mano a personas que se encuentran en situaciones similares.

Una respuesta

  1. Disculpa por preguntar pero neceito saber en realidad donde va el famoso para mi ‘ ; ‘(punto y coma. Tengo una tabla por ejemplo con 3 atributos. En el *.txt quedaria asi por ejemplo: nombre,edad,sexo donde pongo el ; que usare como dilimitador.

    Disculpa la molestias gracias

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.