pandas und das Hallo-Welt der SQL-Abfragen!
Hier nutzt du die Möglichkeiten von pandas
, um die Ergebnisse deiner SQL-Abfrage mit einer einzigen Zeile Python-Code in einen DataFrame zu schreiben!
Zunächst wirst du pandas
importieren und die SQLite-Engine 'Chinook.sqlite'
erstellen. Dann wirst du die Datenbank abfragen, um alle Datensätze aus der Tabelle Album
auszuwählen.
Um alle Datensätze aus der Tabelle Orders
in der Northwind-Datenbank auszuwählen, hat Hugo bekanntermaßen den folgenden Befehl ausgeführt:
df = pd.read_sql_query("SELECT * FROM Orders", engine)
Diese Übung ist Teil des Kurses
Einführung in das Importieren von Daten in Python
Anleitung zur Übung
- Importiere das
pandas
-Paket mit dem Aliaspd
. - Erstelle mit der Funktion
create_engine()
eine Engine für die SQLite-DatenbankChinook.sqlite
und weise sie der Variablenengine
zu. - Verwende die
pandas
-Funktionread_sql_query()
, um der Variablendf
den DataFrame der Ergebnisse der folgenden Abfrage zuzuweisen: Wähle alle Datensätze aus der TabelleAlbum
. - Der Rest des Codes dient dazu, zu bestätigen, dass der mit dieser Methode erstellte DataFrame gleich dem ist, der mit der vorherigen Methode erstellt wurde, die du kennengelernt hast.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Import packages
from sqlalchemy import create_engine
import ____ as ____
# Create engine: engine
# Execute query and store records in DataFrame: df
df = pd.read_sql_query(____, ____)
# Print head of DataFrame
print(df.head())
# Open engine in context manager and store query result in df1
with engine.connect() as con:
rs = con.execute("SELECT * FROM Album")
df1 = pd.DataFrame(rs.fetchall())
df1.columns = rs.keys()
# Confirm that both methods yield the same result
print(df.equals(df1))