Kom igångKom igång gratis

Läs från en databas

I den här övningen ska du extrahera data som finns i tabeller i en lokal PostgreSQL-databas. Du kommer att använda exempeldatabasen Pagila. Databasen är kopplad till en fiktiv DVD-butiksapplikation och används ofta som exempeldatabas i utbildningssammanhang.

Du ska skapa och använda en funktion som extraherar en databastabell till ett pandas DataFrame-objekt. De tabeller du kommer att extrahera är:

  • film: de filmer som hyrs ut i DVD-butiken.
  • customer: de kunder som hyr filmer i DVD-butiken.

För att ansluta till databasen behöver du använda en PostgreSQL-anslutnings-URI, som ser ut ungefär så här:

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

Den här övningen är en del av kursen

Introduktion till datatekniker

Visa kurs

Övningsinstruktioner

  • Komplettera funktionsdefinitionen för extract_table_to_pandas() så att argumentet tablename ingår i frågan.
  • Fyll i anslutnings-URI:n. Användarnamnet och lösenordet är repl respektive password. Värden är localhost och porten är 5432. Databasen heter pagila.
  • Komplettera funktionsanropen till extract_table_to_pandas() för att extrahera tabellerna film och customer.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod