Einfügen von Daten aus einer SQL-Tabelle in einen Python-Pandas-Datenrahmen

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

In diesem Artikel wird beschrieben, wie SQL-Daten mithilfe des pyodbc-Pakets in Python in einen Pandas-Datenrahmen eingefügt werden. Die Zeilen und Spalten der Daten, die im Datenrahmen enthalten sind, können zur weiteren Datenuntersuchung verwendet werden.

Voraussetzungen

Überprüfen der wiederhergestellten Datenbank

Sie können überprüfen, ob die wiederhergestellte Datenbank vorhanden ist, indem Sie die Tabelle Person.CountryRegion abfragen:

USE AdventureWorks;
SELECT * FROM Person.CountryRegion;

Installieren von Python-Paketen

Laden Sie Azure Data Studio herunter, und führen Sie die Installation durch.

Installieren Sie die folgenden Python-Pakete:

  • pyodbc
  • pandas

Installieren Sie diese Pakete wie folgt:

  1. Klicken Sie in Ihrem Azure Data Studio-Notebook auf die Option Pakete verwalten.
  2. Klicken Sie dann im Bereich Manage Packages (Pakete verwalten) auf die Registerkarte Add new (Neue hinzufügen).
  3. Geben Sie für jedes der folgenden Pakete den jeweiligen Paketnamen ein, klicken Sie auf Suchen und dann auf Installieren.

Einfügen von Daten

Verwenden Sie das folgende Skript, um Daten aus der Tabelle „Person.CountryRegion“ auszuwählen und in einen Dataframe einzufügen. Bearbeiten Sie die Variablen der Verbindungszeichenfolge „server“, „database“, „username“ und „password“, um eine Verbindung mit SQL herzustellen.

So erstellen Sie ein neues Notebook

  1. Klicken Sie in Azure Data Studio auf Datei und dann auf Neues Notebook.
  2. Wählen Sie im Notebook den Kernel Python3 aus, und klicken Sie dann auf +code.
  3. Fügen Sie den Code in das Notebook ein, und klicken Sie auf Alle ausführen.
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))

Ausgabe

Mit dem print-Befehl im obigen Skript werden die Datenzeilen aus dem pandas-Datenrahmen df angezeigt.

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

Nächste Schritte