Skip site navigation (1) Skip section navigation (2)

Re: Importar fichero CSV

From: "Mario Gonzalez" <gonzalemario(at)gmail(dot)com>
To: "Guido Barosio" <gbarosio(at)gmail(dot)com>
Cc: Javier Estévez CIFA Córdoba <javier(dot)estevez(dot)ext(at)juntadeandalucia(dot)es>, "Javier Carlos" <javier(at)nediam(dot)com(dot)mx>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Importar fichero CSV
Date: 2007-03-30 13:27:38
Message-ID: 2065a6cf0703300627m660ae6e9q2a9c055d3c1548e5@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
On 30/03/07, Guido Barosio <gbarosio(at)gmail(dot)com> wrote:
> Mario,
>
>   El problema lo tiene igual, porque el asunto no pasa por como hacer
> el COPY, sino por la cantidad de columnas por fila. COPY no maneja eso
> dinamicamente, simplemente espera por STDIN o un archivo lineas con
> una cantidad predeterminada de columnas (que justamente coincide con
> la definicion de la tabla creo?).
>

Estructura Tabla
******************
test=> \d copy_example
   Tabla «public.copy_example»
 Columna |  Tipo   | Modificadores
---------+---------+---------------
 num1    | integer |
 num2    | integer |
 num3    | integer |

Archivo
********
mario(at)mario:~$ more archivo_csv
1,2,3
4,5,6
7,8,9

Codigo python:
*****************

from psycopg import connect

con = connect("host=myhost user=usuario password=password dbname=test")
cursor = con.cursor()

for lineas in open("archivo_csv").readlines():
        _list = lineas.split(",")
        num3 = _list.pop()
        num2 = _list.pop()
        num1 = _list.pop()
        sql = """
                INSERT INTO copy_example (num2, num3)
                VALUES (%s, %s)
        """ % (num2, num3)
        cursor.execute( sql )
con.commit()

>

-- 
http://www.advogato.org/person/mgonzalez/

In response to

Responses

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2007-03-30 13:39:05
Subject: Re: Importar fichero CSV
Previous:From: Raúl Mero MoreiraDate: 2007-03-30 13:19:46
Subject: Re: Importar fichero CSV

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group