Einfügen von Daten aus einer SQL-Tabelle in einen Python-Pandas-Datenrahmen
Gilt für: SQL Server Azure SQL-Datenbank Azure 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
SQL Server Management Studio zum Wiederherstellen der Beispieldatenbank in Azure SQL Managed Instance
Azure Data Studio. Informationen zur Installation finden Sie unter Azure Data Studio.
Wiederherstellen einer Beispieldatenbank, um die in diesem Artikel verwendeten Beispieldaten zu erhalten.
Ü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:
- Klicken Sie in Ihrem Azure Data Studio-Notebook auf die Option Pakete verwalten.
- Klicken Sie dann im Bereich Manage Packages (Pakete verwalten) auf die Registerkarte Add new (Neue hinzufügen).
- 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
- Klicken Sie in Azure Data Studio auf Datei und dann auf Neues Notebook.
- Wählen Sie im Notebook den Kernel Python3 aus, und klicken Sie dann auf +code.
- 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