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
Istruzioni dell'esercizio
- Completa la definizione della funzione
extract_table_to_pandas()includendo l'argomentotablenameall'interno della query. - Compila la connection URI. Username e password sono rispettivamente
replepassword. L'host èlocalhoste 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)