En este artículo, veremos cómo convertir los resultados de una consulta SQL en un marco de datos de Pandas usando el módulo pypyodbc en Python.
Es posible que necesitemos resultados de la base de datos de la tabla utilizando diferentes consultas para trabajar en los datos y aplicar cualquier aprendizaje automático en los datos para analizar mejor las cosas y las sugerencias. Podemos convertir nuestros datos en el marco de datos de Python Pandas para aplicar diferentes algoritmos de máquina a los datos. Veamos cómo podemos obtener los resultados de la consulta SQL en Pandas Dataframe utilizando MS SQL como servidor.
pypyodbc: es un módulo de interfaz ODBC multiplataforma de Python puro. Para instalar el módulo pypyodbc para acceder a las bases de datos ODBC usando este comando en la terminal.
pip install pypyodbc
Crear base de datos
Paso 1: crear una base de datos
CREATE DATABASE GeeksforGeeks;
Paso 2: Uso de la base de datos
USE GeeksForGeeks
Paso 3: crear la tabla student_marks y agregar filas a la tabla
CREATE TABLE student_marks( stu_id VARCHAR(20), stu_name VARCHAR(20), stu_branch VARCHAR(20), total_marks INT )
Conversión de consulta SQL a marco de datos de Pandas
Ejemplo 1:
Conéctese al servidor MSSQL usando el nombre del servidor y el nombre de la base de datos usando pdb.connect(). Y luego lea la consulta SQL usando read_sql() en el marco de datos de pandas e imprima los datos.
Python3
import pypyodbc as pdb import pandas as pd connection = pdb.connect(""" Driver={{SQL Server Native Client 11.0}}; Server={0}; Database={1}; Trusted_Connection=yes;""".format('LAPTOP-LKHL8PKV', 'GeeksForGeeks') ) query = """SELECT * FROM student_marks""" table = pd.read_sql(query, connection) print(table)
Producción:
Ejemplo 2: consulta para obtener estudiantes de la rama ECE de la tabla al marco de datos pandas.
Python3
import pypyodbc as pdb import pandas as pd connection = pdb.connect(""" Driver={{SQL Server Native Client 11.0}}; Server={0}; Database={1}; Trusted_Connection=yes;""".format('LAPTOP-LKHL8PKV', 'GeeksForGeeks') ) query = """SELECT * FROM student_marks WHERE stu_branch='E.C.E'""" table = pd.read_sql(query, connection) print(table)
Producción:
Publicación traducida automáticamente
Artículo escrito por lokeshpotta20 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA