Inserire i dati di una tabella SQL in un dataframe Pandas Python
Si applica a: SQL Server Database SQL di Azure Istanza 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
SQL Server Management Studio per il ripristino del database di esempio in Istanza gestita di SQL di Azure.
Azure Data Studio. Per eseguire l'installazione, vedere Azure Data Studio.
Ripristinare il database di esempio per ottenere i dati di esempio usati in questo articolo.
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:
- Nel notebook di Azure Data Studio selezionare Gestisci pacchetti.
- Nel riquadro Gestisci pacchetti selezionare la scheda Aggiungi nuovo.
- 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:
- In Azure Data Studio selezionare File e quindi Nuovo notebook.
- Nel notebook selezionare il kernel Python3 e quindi +Codice.
- 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 pandas
df
.
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