IniziaInizia gratis

Leggere da un database

In questo esercizio estrarrai i dati contenuti nelle tabelle di un database PostgreSQL locale. I dati che userai provengono dal database di esempio Pagila. Il database alimenta un'applicazione fittizia di un negozio di DVD ed è spesso usato come esempio in risorse didattiche.

Creerai e userai una funzione che estrae una tabella del database in un oggetto DataFrame di pandas. Le tabelle che estrarrai sono:

  • film: i film che vengono noleggiati nel negozio di DVD.
  • customer: i clienti che hanno noleggiato film nel negozio di DVD.

Per connetterti al database, dovrai usare una connection URI di PostgreSQL, che ha un aspetto simile a questo:

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

Questo esercizio fa parte del corso

Introduzione al Data Engineering

Visualizza il corso

Istruzioni dell'esercizio

  • Completa la definizione della funzione extract_table_to_pandas() includendo l'argomento tablename all'interno della query.
  • Compila la connection URI. Username e password sono rispettivamente repl e password. L'host è localhost e la porta è 5432. Il database è pagila.
  • Completa le chiamate alla funzione extract_table_to_pandas() per estrarre le tabelle film e customer.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice