es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Declaración de Postgresql en psycopg2 no retornando los valores esperados.

Tengo establecida una base de datos de PostgreSQL. Ejecuto el siguiente código para obtener valores únicos en la columna ‘state’ de la tabla (que son cadenas que representan números FIPS):

import psycopg2 as ps
con = ps.connect(“dbname=example_db user=user password=password”)
cursor = con.cursor()
cursor.execute(‘SELECT DISTINCT(%s) FROM example_table’, (‘state’,))
results = cursor.fetchall()

Esto devuelve:

results
(‘state’,)

Si ejecuto la misma consulta en PGAdmin4, obtengo:

exampledb=# SELECT DISTINCT state FROM exampletable;

state

06
(1 fila)

Quiero obtener los valores distintos (es decir, 06, en este caso) utilizando psycopg2. ¿Qué debo cambiar?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Necesitas cambiar cursor.fetchall() por cursor.fetchone() para obtener los valores distintos. El método fetchall() devuelve una lista de tuplas, mientras que el método fetchone() devuelve una sola tupla.

Comments are closed.