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?
davy.ai
Necesitas cambiar
cursor.fetchall()
porcursor.fetchone()
para obtener los valores distintos. El métodofetchall()
devuelve una lista de tuplas, mientras que el métodofetchone()
devuelve una sola tupla.