Necesito poner datos de la consulta SQL en un marco de datos de Pandas. Dígame, ¿es posible obtener los nombres de las columnas de los resultados de la consulta? Descubrí que hay una función de keys() en sqlalchemy para eso, pero no funciona para mí:
import mysql.connector import pandas as pd mydb = mysql.connector.connect( host="SQLServer", user="sqlusr", password="usrpasswd", database="sqldb" ) cursor = mydb.cursor() Query="SELECT Title, Review, Rate FROM reviews;" cursor.execute(Query) df = pd.DataFrame(cursor.fetchall()) df.columns = cursor.keys()AttributeError: el objeto 'CMySQLCursor' no tiene atributo 'claves'
creo que lo estas buscando
cnx = mysql.connector.connect(user=DB_USER, password=DB_USER_PASSWORD, host=DB_HOST, database=DB_NAME) cursor = cnx.cursor() query = ("SELECT `name`, `ftp_name`, `created_at`, `status` AS `status_customer` FROM `customers" "WHERE `status` = %(status)s") cursor.execute(query, { 'status': 1 }) # cursor.description will give you a tuple of tuples where [0] for each is the column header. num_fields = len(cursor.description) field_names = [i[0] for i in cursor.description] print(num_fields) print(field_names) >>> 4 >>> [u'name', u'ftp_name', 'created_at', u'status_customer'] # OR just use this cursor function: print(cursor.column_names) >>> (u'name', u'ftp_name', 'created_at', u'status_customer')¡Espero que esto ayude!
MOSTRAR COLUMNAS DESDE su-base-de-datos-nombre.su-tabla-nombre