CommencerCommencer gratuitement

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

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.
  • Complétez la connexion URI. Le nom d'utilisateur et le mot de passe sont respectivement repl et password. L'hôte est localhost et le port est 5432. La base de données est pagila.
  • 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)
Modifier et exécuter le code