martes, 5 de enero de 2010

Python y conexion a base de datos postgreSQL

Buscando información referente a las conexiones y querys de postgreSQL, me percate que no hay mayor detalle, como por ejemplo, recorrer una query a través de un SELECT...

Para este ejemplo se utilizara la API "psycopg2"

Bueno, rebuscandome una forma, encontre algo que quizas no sea muy elegante, pero el punto es que funciona...
A continuación les mostrare como.

# la variable argumentos contendria algo como esto:
# argumentos="host=localhost dbname=base_de_datos user=tu_usuario password=tu_clave port=5432"

class conexionSQL:
def __init__(self,argumentos=connectionString):
self.argumentos = argumentos

def select(self,query):
argumentos = self.argumentos
con = psycopg2.connect(argumentos)
cur = con.cursor()
cur.execute(query)
rows = cur.fetchall()
for row in range(len(rows)):
for campos in range(len(rows[row])):
print rows[row][campos]
cur.close()
con.close()

Creo que no hay mucho que agregar, pero el resultado seria:

campo1 campo2 campo3 campo4...
campo1 campo2 campo3 campo4...
campo1 campo2 campo3 campo4...

Saludos.