CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Complétez la définition de la fonction extract_table_to_pandas() pour inclure l’argument tablename dans la requête.
  • Renseignez l’URI de connexion. Le nom d’utilisateur et le mot de passe sont repl et password, respectivement. L’hôte est localhost et le port est 5432. La base de données est pagila.
  • 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)
Modifier et exécuter le code