Share via


Gegevens uit een SQL-tabel invoegen in een Python Pandas-dataframe

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

In dit artikel wordt beschreven hoe u SQL-gegevens invoegt in een pandas-dataframe met behulp van het pyodbc-pakket in Python. De rijen en kolommen met gegevens in het dataframe kunnen worden gebruikt voor verdere gegevensverkenning.

Prerequisites

Herstelde database controleren

U kunt controleren of de herstelde database bestaat door een query uit te voeren op de tabel Person.CountryRegion :

USE AdventureWorks;
SELECT * FROM Person.CountryRegion;

Python-pakketten installeren

Download en installeer Azure Data Studio.

Installeer de volgende Python-pakketten:

  • pyodbc
  • pandas

Ga als volgt te werk om deze pakketten te installeren:

  1. Selecteer Pakketten beheren in uw Azure Data Studio-notebook.
  2. Selecteer in het deelvenster Pakketten beheren het tabblad Nieuwe toevoegen .
  3. Voer voor elk van de volgende pakketten de pakketnaam in, klik op Zoeken en klik vervolgens op Installeren.

Gegevens invoegen

Gebruik het volgende script om gegevens uit de tabel Person.CountryRegion te selecteren en in een dataframe in te voegen. Bewerk de verbindingsreeksvariabelen: 'server', 'database', 'gebruikersnaam' en 'wachtwoord' om verbinding te maken met SQL.

Ga als volgt te werk om een nieuw notitieblok te maken:

  1. Selecteer Bestand in Azure Data Studio en selecteer Nieuw notitieblok.
  2. Selecteer in het notebook kernel Python3 en selecteer +code.
  3. Plak code in notebook, selecteer Alles uitvoeren.
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

Met print de opdracht in het voorgaande script worden de rijen met gegevens uit het pandas gegevensframe dfweergegeven.

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

Volgende stappen