CommencezCommencez gratuitement

Automatiser le chargement et la combinaison de données à partir de plusieurs feuilles Excel

Vous êtes maintenant prêt à automatiser l'importation des informations d'inscription pour les trois bourses dans le fichier Excel listings.xlsx en mettant en place une boucle for. Voici les étapes :

  1. Récupérer les noms de feuilles d'un objet pd.ExcelFile() au moyen de son attribut sheet_names.
  2. Créer une liste vide.
  3. Écrire une boucle for qui parcourt ces noms de feuilles pour lire les données de la feuille correspondante du fichier Excel dans une variable. Ajouter une colonne de référence, au besoin. Ajouter le contenu de cette variable à la liste à chaque itération.
  4. Concaténer les DataFrames contenus dans la liste.

Comme toujours, référez-vous aux exercices précédents de ce chapitre ou à la documentation de pandas si vous avez besoin d'aide. pandas a été importé sous le nom pd.

Cette activité fait partie du cours

Importer et gérer des données financières en Python

Voir le cours

Instructions de l’exercice

  • Créez l'objet pd.ExcelFile() à partir du fichier listings.xlsx et assignez-le à la variable xls.
  • Récupérez les noms de feuilles à partir de l'attribut .sheet_names de xls et assignez-les à exchanges.
  • Créez une liste vide et assignez-la à la variable listings.
  • Itérez sur exchanges à l'aide d'une boucle for avec exchange comme variable d'itération. À chaque itération :
    • Utilisez pd.read_excel() avec xls comme source de données, exchange comme argument sheet_name, et 'n/a' comme na_values pour traiter les valeurs manquantes. Assignez le résultat à listing.
    • Créez une nouvelle colonne dans listing appelée 'Exchange' avec la valeur exchange (la variable d'itération).
    • Ajoutez le DataFrame listing obtenu à listings.
  • Utilisez pd.concat() pour concaténer le contenu de listings et assignez le résultat à listing_data.
  • Examinez le contenu de listing_data avec .info().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Create the pd.ExcelFile() object
xls = ____

# Extract the sheet names from xls
exchanges = ____.____

# Create an empty list: listings


# Import the data
for exchange in exchanges:
    listing = pd.____(____, sheet_name=____, na_values='n/a')
    listing['Exchange'] = ____
    listings.____(____)

# Concatenate the listings: listing_data
listing_data = pd.____(____)

# Inspect the results
listing_data.info()
Modifier et exécuter le code