Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa guida introduttiva rapida, usare Jupyter Notebook in Visual Studio Code per ricavare rapidamente informazioni aziendali utili. Usa il mssql-python driver di Python per collegarti al tuo database SQL, leggere i dati e poi formattarli per usarli in email, report e presentazioni.
Il mssql-python driver non richiede dipendenze esterne nei computer Windows. Il driver installa tutti gli elementi necessari con un'unica pip installazione, consentendo di usare la versione più recente del driver per i nuovi script senza interrompere altri script che non è necessario aggiornare e testare.
Documentazione di mssql-python | mssql-python Codice sorgente | Pacchetto (PyPI) | Visual Studio Code
Prerequisiti
Python 3.10 o versione successiva
Se Python non è già disponibile, installare il runtime Python e la gestione pacchetti pip da python.org.
Non si vuole usare il proprio ambiente? Segui Container e lo sviluppo locale per creare un devcontainer riproducibile o un ambiente di Codespaces su GitHub.
Visual Studio Code con le seguenti estensioni:
Interfaccia Command-Line di Azure per l'autenticazione senza password in macOS e Linux.
Se non hai già
uv, segui le istruzioni di installazione.Un database su SQL Server, un database SQL di Azure o un database SQL in Fabric con lo
AdventureWorks2025schema di esempio e una stringa di connessione valida.Installare prerequisiti specifici del sistema operativo monouso.
Creare un database SQL
Crea o collegati a un database SQL su una delle seguenti piattaforme:
Creare il progetto ed eseguire il codice
- Creare un nuovo progetto
- Aggiungere dipendenze
- Avviare Visual Studio Code
- Aggiornare pyproject.toml
- Salvare la stringa di connessione
- Creare un notebook di Jupyter
- Visualizzare i risultati in una tabella
- Visualizzare i risultati in un grafico
Creare un nuovo progetto
Apri un prompt dei comandi nella directory di sviluppo. Se non ne hai una, crea una nuova directory, come
pythonoscripts. Evita le cartelle sul tuo OneDrive, poiché la sincronizzazione può interferire con la gestione del tuo ambiente virtuale.Creare un nuovo progetto con
uv.uv init jupyter-notebook-qs cd jupyter-notebook-qs
Aggiungere dipendenze
Nella stessa directory, installare i pacchetti mssql-python, python-dotenv, rich, pandas e matplotlib. Aggiungi quindi ipykernel e uv come dipendenze di sviluppo. VS Code richiede ipykernel per eseguire le celle del notebook e uv per gestire i pacchetti direttamente dalle celle del notebook.
uv add mssql-python python-dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Avviare Visual Studio Code
Nella stessa directory eseguire il comando seguente.
code .
Aggiornare pyproject.toml
Pyproject.toml contiene i metadati per il progetto.
Aggiornare la descrizione in modo che sia più descrittiva.
description = "A quick example using the mssql-python driver and Jupyter Notebooks."Salva e chiudi il file.
Salvare la stringa di connessione
Aprire il
.gitignorefile e aggiungere un'esclusione per.envi file. Il file dovrebbe essere simile a questo esempio. Assicurati di salvarlo e chiuderlo quando hai finito.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envNella directory corrente creare un nuovo file denominato
.env.All'interno del
.envfile aggiungere una voce per la stringa di connessione denominataSQL_CONNECTION_STRING. Sostituire l'esempio qui con il valore effettivo della stringa di connessione.SQL_CONNECTION_STRING="Server=<server_name>;Database=<database_name>;Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"Suggerimento
La stringa di connessione usata qui dipende in gran parte dal tipo di database SQL a cui ci si connette. Se ci si connette a un database SQL di Azure o a un database SQL in Fabric, usare la stringa di connessione ODBC dalla scheda Stringhe di connessione. Potrebbe essere necessario modificare il tipo di autenticazione a seconda dello scenario. Per altre informazioni sulle stringhe di connessione e sulla relativa sintassi, vedere informazioni di riferimento sulla sintassi delle stringhe di connessione.
Creare un notebook di Jupyter
Selezionare File, quindi Nuovo file e Jupyter Notebook dall'elenco. Verrà aperto un nuovo notebook.
Selezionare File, quindi Salva con nome e assegnare un nome al nuovo notebook.
Aggiungere le importazioni seguenti nella prima cella.
from os import getenv from mssql_python import connect from dotenv import load_dotenv from rich.console import Console from rich.table import Table import pandas as pd import matplotlib.pyplot as pltUsare il pulsante + Markdown nella parte superiore del notebook per aggiungere una nuova cella markdown.
Aggiungere il testo seguente alla nuova cella markdown.
## Define queries for use laterSelezionare il segno di spunta nella barra degli strumenti delle celle o usare i
Ctrl+Entertasti di scelta rapida oShift+Enterper eseguire il rendering della cella markdown.Usare il pulsante + Codice nella parte superiore del notebook per aggiungere una nuova cella di codice.
Aggiungere il codice seguente alla nuova cella di codice.
SQL_QUERY_ORDERS_BY_CUSTOMER = """ SELECT TOP 5 c.CustomerID, c.CompanyName, COUNT(soh.SalesOrderID) AS OrderCount FROM SalesLT.Customer AS c LEFT OUTER JOIN SalesLT.SalesOrderHeader AS soh ON c.CustomerID = soh.CustomerID GROUP BY c.CustomerID, c.CompanyName ORDER BY OrderCount DESC; """ SQL_QUERY_SPEND_BY_CATEGORY = """ select top 10 pc.Name as ProductCategory, SUM(sod.OrderQty * sod.UnitPrice) as Spend from SalesLT.SalesOrderDetail sod inner join SalesLT.SalesOrderHeader soh on sod.salesorderid = soh.salesorderid inner join SalesLT.Product p on sod.productid = p.productid inner join SalesLT.ProductCategory pc on p.ProductCategoryID = pc.ProductCategoryID GROUP BY pc.Name ORDER BY Spend; """
Visualizzare i risultati in una tabella
Usare il pulsante + Markdown nella parte superiore del notebook per aggiungere una nuova cella markdown.
Aggiungere il testo seguente alla nuova cella markdown.
## Print orders by customer and display in a tableSelezionare il segno di spunta nella barra degli strumenti delle celle o usare i
Ctrl+Entertasti di scelta rapida oShift+Enterper eseguire il rendering della cella markdown.Usare il pulsante + Codice nella parte superiore del notebook per aggiungere una nuova cella di codice.
Aggiungere il codice seguente alla nuova cella di codice.
load_dotenv() with connect(getenv("SQL_CONNECTION_STRING")) as conn: # type: ignore with conn.cursor() as cursor: cursor.execute(SQL_QUERY_ORDERS_BY_CUSTOMER) if cursor: table = Table(title="Orders by Customer") # https://rich.readthedocs.io/en/stable/appendix/colors.html table.add_column("Customer ID", style="bright_blue", justify="center") table.add_column("Company Name", style="bright_white", justify="left") table.add_column("Order Count", style="bold green", justify="right") records = cursor.fetchall() for r in records: table.add_row(f"{r.CustomerID}", f"{r.CompanyName}", f"{r.OrderCount}") Console().print(table)Suggerimento
In macOS, entrambi
ActiveDirectoryInteractiveeActiveDirectoryDefaultfunzionano per l'autenticazione di Microsoft Entra.ActiveDirectoryInteractiverichiede di accedere ogni volta che si esegue lo script. Per evitare ripetuti prompt di accesso, accedi una volta tramite la CLI di interfaccia della riga di comando di Azure eseguendoaz login, poi usaActiveDirectoryDefault, che riutilizza la credenziale memorizzata nella cache.Usare il pulsante Esegui tutto nella parte superiore del notebook per eseguire il notebook.
Selezionare il kernel jupyter-notebook-qs quando richiesto.
Visualizzare i risultati in un grafico
Esaminare l'output dell'ultima cella. Verrà visualizzata una tabella con tre colonne e cinque righe.
Usare il pulsante + Markdown nella parte superiore del notebook per aggiungere una nuova cella markdown.
Aggiungere il testo seguente alla nuova cella markdown.
## Display spend by category in a horizontal bar chartSelezionare il segno di spunta nella barra degli strumenti delle celle o usare i
Ctrl+Entertasti di scelta rapida oShift+Enterper eseguire il rendering della cella markdown.Usare il pulsante + Codice nella parte superiore del notebook per aggiungere una nuova cella di codice.
Aggiungere il codice seguente alla nuova cella di codice.
with connect(getenv("SQL_CONNECTION_STRING")) as conn: # type: ignore data = pd.read_sql_query(SQL_QUERY_SPEND_BY_CATEGORY, conn) # Set the style - use print(plt.style.available) to see all options plt.style.use('seaborn-v0_8-notebook') plt.barh(data['ProductCategory'], data['Spend'])Utilizzare il pulsante Esegui cella o
Ctrl+Alt+Enterper eseguire la cella.Esamina i risultati. Rendi questo notebook tuo.
Passaggi successivi
Usa questi articoli per continuare a costruire:
- Costruisci stringhe di connessione per configurare connessioni per diversi tipi di database SQL e metodi di autenticazione.
- integrazione con Pandas per caricare direttamente i risultati delle query nei DataFrame per l'analisi nei notebook.
- Integrazione di Arrow per lavorare con dati columnari usando Apache Arrow per analisi ad alte prestazioni.