LoslegenKostenlos loslegen

Aus einer Datenbank lesen

In dieser Übung wirst du Daten aus Tabellen einer lokalen PostgreSQL-Datenbank extrahieren. Die Daten, die du verwenden wirst, kommen aus der Pagila-Beispieldatenbank. Die Datenbank unterstützt eine fiktive DVD-Shop-Anwendung und wird oft als Beispiel-Datenbank in Lehrmaterialien verwendet.

Du wirst eine Funktion erstellen und verwenden, die eine Datenbank-Tabelle in ein pandas-DataFrame-Objekt extrahiert. Die Tabellen, die du extrahieren wirst, sind:

  • film: die Filme, die man in der DVD-Videothek ausleihen kann.
  • customer: die Kunden, die Filme in der DVD-Videothek ausgeliehen haben.

Um dich mit der Datenbank zu verbinden, musst du eine PostgreSQL-Verbindungs-URI verwenden, die ungefähr so aussieht:

postgresql://[user[:password]@][host][:port][/database]

Diese Übung ist Teil des Kurses

Einführung in das Data Engineering

Kurs anzeigen

Anleitung zur Übung

  • Vervollständige die Funktionsdefinition extract_table_to_pandas() , um das Argument tablename in die Abfrage einzubauen.
  • Gib die Verbindungs-URI ein. Der Benutzername und das Passwort sind repl bzw. password. Der Host ist localhost und der Port ist 5432. Die Datenbank ist pagila.
  • Vervollständige die Funktionsaufrufe von extract_table_to_pandas(), um die Tabellen „film“ und „customer“ zu extrahieren.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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)
Code bearbeiten und ausführen