Condividi tramite


Inserire i dati di una tabella SQL in un dataframe Pandas Python

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

Questo articolo descrive come inserire i dati SQL in un dataframe Pandas usando il pacchetto pyodbc in Python. È possibile usare le righe e le colonne di dati presenti all'interno del dataframe per un'ulteriore esplorazione dei dati.

Prerequisiti

Verificare il database ripristinato

È possibile verificare che il database ripristinato sia disponibile eseguendo una query sulla tabella Person.CountryRegion:

USE AdventureWorks;
SELECT * FROM Person.CountryRegion;

Installare i pacchetti Python

Scaricare e installare Azure Data Studio.

Installare i pacchetti Python seguenti:

  • pyodbc
  • pandas

Per installare questi pacchetti:

  1. Nel notebook di Azure Data Studio selezionare Gestisci pacchetti.
  2. Nel riquadro Gestisci pacchetti selezionare la scheda Aggiungi nuovo.
  3. Per ognuno dei seguenti pacchetti immettere il nome del pacchetto, fare clic su Cerca, quindi fare clic su Installa.

Inserire i dati

Usare lo script seguente per selezionare i dati dalla tabella Person.CountryRegion e inserirli in un dataframe. Modificare le variabili della stringa di connessione "server", "database", "username" e "password" per la connessione a SQL.

Per creare un nuovo notebook:

  1. In Azure Data Studio selezionare File e quindi Nuovo notebook.
  2. Nel notebook selezionare il kernel Python3 e quindi +Codice.
  3. Incollare il codice nel notebook e selezionare Esegui tutti.
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))

Output

Il comando print nello script precedente consente di visualizzare le righe di dati del dataframe pandasdf.

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

Passaggi successivi