Lire depuis une base de données
Dans cet exercice, vous allez extraire des données stockées dans des tables d’une base de données PostgreSQL locale. Les données utilisées proviennent de la base d’exemple Pagila. Cette base alimente une application fictive de magasin de DVD et sert souvent d’exemple dans des ressources pédagogiques.
Vous allez créer et utiliser une fonction qui extrait une table de base de données dans un objet DataFrame de pandas. Les tables à extraire sont :
film: les films loués dans le magasin de DVD.customer: les clients qui ont loué des films dans le magasin de DVD.
Pour vous connecter à la base, vous devrez utiliser un URI de connexion PostgreSQL, qui ressemble à ceci :
postgresql://[user[:password]@][host][:port][/database]
Cet exercice fait partie du cours
Introduction au data engineering
Instructions
- Complétez la définition de la fonction
extract_table_to_pandas()pour inclure l’argumenttablenamedans la requête. - Renseignez l’URI de connexion. Le nom d’utilisateur et le mot de passe sont
repletpassword, respectivement. L’hôte estlocalhostet le port est5432. La base de données estpagila. - Complétez les appels à
extract_table_to_pandas()pour extraire les tables film et customer.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)