Aan de slagGa gratis aan de slag

Lezen uit een database

In deze oefening ga je data ophalen uit tabellen van een lokale PostgreSQL-database. De data die je gebruikt komt uit de Pagila-voorbeeldatabase. Deze database ondersteunt een fictieve dvd-winkelapplicatie en wordt vaak gebruikt als voorbeeld in educatieve context.

Je maakt en gebruikt een functie die een databasetabel in een pandas DataFrame-object zet. De tabellen die je ophaalt zijn:

  • film: de films die in de dvd-winkel worden verhuurd.
  • customer: de klanten die films hebben gehuurd in de dvd-winkel.

Om verbinding te maken met de database gebruik je een PostgreSQL connection URI, die er ongeveer zo uitziet:

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

Deze oefening maakt deel uit van de cursus

Introductie tot Data Engineering

Cursus bekijken

Oefeninstructies

  • Maak de functiedefinitie van extract_table_to_pandas() af door het argument tablename in de query op te nemen.
  • Vul de connection URI in. De gebruikersnaam en het wachtwoord zijn respectievelijk repl en password. De host is localhost en de poort is 5432. De database is pagila.
  • Maak de aanroepen van extract_table_to_pandas() af om de tabellen film en customer op te halen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren