Saltar al contenido

¿Cómo recuperar el valor de la columna de resultados SQL usando el nombre de la columna en Python?

Te recomendamos que revises esta respuesta en un entorno controlado antes de enviarlo a producción, saludos.

Solución:

El módulo MySQLdb tiene un DictCursor:

Úselo así (tomado de Escribir secuencias de comandos MySQL con Python DB-API):

cursor = conn.cursor(MySQLdb.cursors.DictCursor)
cursor.execute("SELECT name, category FROM animal")
result_set = cursor.fetchall()
for row in result_set:
    print "%s, %s" % (row["name"], row["category"])

editar: Según el usuario 1305650, esto funciona para pymysql así como.

Esta publicación es antigua, pero puede aparecer a través de la búsqueda.

Ahora puede usar mysql.connector para recuperar un diccionario como se muestra aquí: https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursordict.html

Aquí está el ejemplo en el sitio mysql:

cnx = mysql.connector.connect(database='world')
cursor = cnx.cursor(dictionary=True)
cursor.execute("SELECT * FROM country WHERE Continent = 'Europe'")

print("Countries in Europe:")
for row in cursor:
    print("* Name".format(Name=row['Name']))

importar pymysql

# Open database connection
db = pymysql.connect("localhost","root","","gkdemo1")

# prepare a cursor object using cursor() method
cursor = db.cursor()

# execute SQL query using execute() method.
cursor.execute("SELECT * from user")

# Get the fields name (only once!)
field_name = [field[0] for field in cursor.description]

# Fetch a single row using fetchone() method.
values = cursor.fetchone()

# create the row dictionary to be able to call row['login']
**row = dict(zip(field_name, values))**

# print the dictionary
print(row)

# print specific field
print(**row['login']**)

# print all field
for key in row:
    print(**key," = ",row[key]**)

# close database connection
db.close()

Te mostramos las comentarios y valoraciones de los usuarios

Si aceptas, eres capaz de dejar una sección acerca de qué te ha impresionado de esta división.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *