Saltar al contenido

¿Cómo convertir el resultado de la consulta SQL a la estructura de datos PANDAS?

Solución:

Edición: marzo de 2015

Como se indica a continuación, pandas ahora usa SQLAlchemy para leer desde (read_sql) e insertar en (to_sql) una base de datos. Lo siguiente debería funcionar

import pandas as pd

df = pd.read_sql(sql, cnxn)

Respuesta anterior:
A través de mikebmassey de una pregunta similar.

import pyodbc
import pandas.io.sql as psql

cnxn = pyodbc.connect(connection_info) 
cursor = cnxn.cursor()
sql = "SELECT * FROM TABLE"

df = psql.frame_query(sql, cnxn)
cnxn.close()

Aquí está el código más corto que hará el trabajo:

from pandas import DataFrame
df = DataFrame(resoverall.fetchall())
df.columns = resoverall.keys()

Puede ir más elegante y analizar los tipos como en la respuesta de Paul.

Si está utilizando el ORM de SQLAlchemy en lugar del lenguaje de expresión, es posible que desee convertir un objeto de tipo sqlalchemy.orm.query.Query a un marco de datos de Pandas.

El enfoque más limpio es obtener el SQL generado a partir del atributo de declaración de la consulta y luego ejecutarlo con pandas read_sql() método. Por ejemplo, comenzando con un objeto de consulta llamado query:

df = pd.read_sql(query.statement, query.session.bind)
¡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 *