Lecture d'une base de données
Dans cet exercice, vous allez extraire des données qui résident dans les tableaux d'une base de données locale PostgreSQL. Les données que vous utiliserez sont celles de l' exemple de base de données Pagila. La base de données soutient une application fictive du magasin DVD, et les ressources pédagogiques l'utilisent souvent comme base de données d'exemple.
Vous allez créer et utiliser une fonction qui extrait un tableau de base de données dans un objet DataFrame pandas
. Les tableaux que vous allez extraire sont les suivants :
film
: les films qui sont loués dans le magasin DVD.customer
: les clients qui ont loué des films dans le magasin DVD.
Pour vous connecter à la base de données, vous devez utiliser une connexion PostgreSQL URI , qui ressemble à ceci :
postgresql://[user[:password]@][host][:port][/database]
Cet exercice fait partie du cours
Introduction à l'ingénierie des données
Instructions
- Complétez la définition de la fonction
extract_table_to_pandas()
pour inclure l'argumenttablename
dans la requête. - Complétez la connexion URI. Le nom d'utilisateur et le mot de passe sont respectivement
repl
etpassword
. L'hôte estlocalhost
et le port est5432
. La base de données estpagila
. - Complétez les appels de fonction de
extract_table_to_pandas()
pour extraire les tableaux des films et des clients.
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)