Me gustaría una forma general de generar etiquetas de columna directamente a partir de los nombres de columna seleccionados, y recuerdo haber visto que el módulo psycopg2 de python admite esta función.
137
De "Programming Python" de Mark Lutz:
curs.execute("Select * FROM people LIMIT 0")
colnames = [desc[0] for desc in curs.description]
curs.execute("SELECT * FROM people LIMIT 0")
information_schema
.curs.execute("Select userId FROM people") colnames = [desc[0] for desc in curs.description] assert colnames == ['userid']
Otra cosa que puede hacer es crear un cursor con el que podrá hacer referencia a sus columnas por sus nombres (esa es una necesidad que me llevó a esta página en primer lugar):
fuente
Para obtener los nombres de columna en una consulta separada , puede consultar la tabla information_schema.columns.
Para obtener los nombres de columna en la misma consulta que las filas de datos , puede usar el campo de descripción del cursor:
fuente
Si desea tener un obj de tupla con nombre de una consulta db, puede usar el siguiente fragmento:
Esto le permite acceder a los valores de registro como si fueran propiedades de clase, es decir
o incluso más corto
fuente
Después de ejecutar la consulta SQL, escriba el siguiente script de Python escrito en 2.7
fuente
He notado que debe usar
cursor.fetchone()
después de la consulta para obtener la lista de columnas encursor.description
(es decir, en[desc[0] for desc in curs.description]
)fuente
También solía enfrentar un problema similar. Utilizo un simple truco para resolver esto. Supongamos que tiene nombres de columna en una lista como
Entonces puedes hacer lo siguiente
fuente
fuente
fuente