Gorobytes

Em uma "mistura" de bytes

PyPgSQL exemplos práticos…

fazer um comentário »

Depois de alguma teoria vamos aos exemplos que nos fazem aprender mais fácil e melhor...
Conexão com banco de dados

Criar o objeto de conexão é simples e não tem mistérios, minha dica fica com relação à codificação do banco que pode trazer problemas com os caracteres acentuados. Em minha opnião seria interessante utilizar o utf-8 e pode ser feito assim:

>>>from pyPgSQL import PgSQL
>>>con = PgSQL.connect(host="127.0.0.1",database="teste",user="postgres",password="senha",client_encoding="utf-8")
Trabalhando com dicionário ao invés de listas

O trabalho com listas é um pouco chatinho e pode gerar problemas por isso ae vai uma função que transforma a lista em dicionário

>>>def getDados(cursor):
...   indices = []
...   for i in cursor.description:
...      indices.append(i[0])
...    retorno = []
...    for row in cursor.fetchall():
...       dados = {}
...       for i in range(len(row)):
...          dados[indices[i]] = row[i]
...          retorno.append(dados)
...   return retorno

Deste modo basta chamar a função getDados passando um cursor que já executou a consulta e a mesmo retornará uma lista de dicionário onde cada dicionário corresponde a um registro e possui como indice o nome dos campos.

Escrito por rivolli

11 Julho, 2007 às 1:00 pm

Publicado em database, postgresql, pypgsql, python

Deixe uma resposta