Share via


Inserción de datos de una tabla SQL en un dataframe de Pandas de Python

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

En este artículo se describe cómo insertar datos de SQL en un dataframe de Pandas mediante el paquete pyodbc en Python. Las filas y las columnas de datos contenidas en el dataframe se pueden usar para seguir explorando los datos.

Requisitos previos

Comprobación de la base de datos restaurada

Para comprobar que la base de datos restaurada existe, consulte la tabla Person.CountryRegion:

USE AdventureWorks;
SELECT * FROM Person.CountryRegion;

Instalación de paquetes de Python

Descarga e instalación de Azure Data Studio.

Instale los siguientes paquetes de Python:

  • pyodbc
  • Pandas

Para instalar estos paquetes:

  1. En el cuaderno de Azure Data Studio, seleccione Administrar paquetes.
  2. En el panel Administrar paquetes, seleccione la pestaña Agregar nuevo.
  3. Para cada uno de los paquetes siguientes, escriba el nombre del paquete, haga clic en Buscar y, a continuación, haga clic en instalar.

Insertar datos

Use el siguiente script para seleccionar datos de la tabla Person.CountryRegion e insertarlos en un dataframe. Edite las variables de cadena de conexión: "Server", "Database", "Username" y "Password" para conectarse a SQL.

Para crear un nuevo cuaderno:

  1. En Azure Data Studio, seleccione Archivo y luego Nuevo cuaderno.
  2. En el bloc de notas, seleccione el kernel Python3 y luego el comando +Código.
  3. Pegue el código en el bloc de notas y seleccione Ejecutar todo.
import pyodbc
import pandas as pd
# Some other example server values are
# server = 'localhost\sqlexpress' # for a named instance
# server = 'myserver,port' # to specify an alternate port
server = 'servername' 
database = 'AdventureWorks' 
username = 'yourusername' 
password = 'databasename'  
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
# select 26 rows from SQL table to insert in dataframe.
query = "SELECT [CountryRegionCode], [Name] FROM Person.CountryRegion;"
df = pd.read_sql(query, cnxn)
print(df.head(26))

Salida

El comando print del script anterior muestra las filas de datos del dataframe df de pandas.

CountryRegionCode                 Name
0                 AF          Afghanistan
1                 AL              Albania
2                 DZ              Algeria
3                 AS       American Samoa
4                 AD              Andorra
5                 AO               Angola
6                 AI             Anguilla
7                 AQ           Antarctica
8                 AG  Antigua and Barbuda
9                 AR            Argentina
10                AM              Armenia
11                AW                Aruba
12                AU            Australia
13                AT              Austria
14                AZ           Azerbaijan
15                BS         Bahamas, The
16                BH              Bahrain
17                BD           Bangladesh
18                BB             Barbados
19                BY              Belarus
20                BE              Belgium
21                BZ               Belize
22                BJ                Benin
23                BM              Bermuda
24                BT               Bhutan
25                BO              Bolivia

Pasos siguientes