Aus einer Datenbank lesen
In dieser Übung wirst du Daten extrahieren, die sich in Tabellen einer lokalen PostgreSQL-Datenbank befinden. Die Daten, die du verwenden wirst, sind die der Pagila-Beispieldatenbank. Die Datenbank steht hinter einer fiktiven DVD-Lageranwendung und wird in Lehrbüchern oft als Beispieldatenbank verwendet.
Du wirst eine Funktion erstellen und verwenden, die eine Tabelle aus der Datenbank in ein pandas
DataFrame-Objekt extrahiert. Die Tabellen, die du extrahieren wirst, sind:
film
: die Filme, die im DVD-Laden ausgeliehen werden.customer
: die Kunden, die im DVD-Laden Filme ausgeliehen haben.
Um dich mit der Datenbank zu verbinden, musst du eine PostgreSQL-Verbindungs-URI verwenden, die etwa so aussieht:
postgresql://[user[:password]@][host][:port][/database]
Diese Übung ist Teil des Kurses
Einführung in die Datentechnik
Anleitung zur Übung
- Vervollständige die
extract_table_to_pandas()
Funktionsdefinition, um dastablename
Argument in die Abfrage aufzunehmen. - Gib die URI der Verbindung ein. Der Benutzername und das Passwort lauten
repl
bzw.password
. Der Host istlocalhost
und der Port ist5432
. Die Datenbank istpagila
. - Vervollständige die Funktionsaufrufe von
extract_table_to_pandas()
, um die Film- und Kundentabellen zu extrahieren.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# Function to extract table to a pandas DataFrame
def extract_table_to_pandas(tablename, db_engine):
query = "SELECT * FROM {}".format(____)
return pd.read_sql(query, db_engine)
# Connect to the database using the connection URI
connection_uri = "postgresql://____:____@____:____/____"
db_engine = sqlalchemy.create_engine(connection_uri)
# Extract the film table into a pandas DataFrame
extract_table_to_pandas("____", db_engine)
# Extract the customer table into a pandas DataFrame
extract_table_to_pandas("____", db_engine)