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)