Guides Excel

read_excel : Comment importer vos données Excel dans Python (et pourquoi)

15 janvier 2026 5 vues

L'importation de données depuis des fichiers Excel est une tâche courante dans le domaine de l'analyse de données. Python, grâce à sa bibliothèque Pandas, offre une solution élégante et performante avec la fonction `read_excel`. Cet article vous guide à travers les différentes facettes de cette fonction, vous permettant d'importer vos données Excel de manière efficace et de les manipuler avec aisance. Que vous soyez débutant ou utilisateur expérimenté, vous trouverez ici des informations précieuses pour optimiser votre flux de travail.

Comprendre la fonction read_excel et son utilité

La fonction read_excel est une méthode de la bibliothèque Pandas en Python, spécialement conçue pour lire des données à partir de fichiers Excel (principalement .xlsx et .xls). Elle transforme le contenu de votre fichier Excel en un DataFrame Pandas, une structure de données tabulaire puissante et flexible, idéale pour l'analyse, la manipulation et la visualisation de données.

Pourquoi utiliser read_excel ?

  • Simplicité d'utilisation: La syntaxe est intuitive et facile à apprendre.
  • Flexibilité: Elle gère différents types de données, feuilles de calcul, en-têtes, etc.
  • Intégration avec Pandas: Bénéficiez de toutes les fonctionnalités de Pandas pour le nettoyage, la transformation et l'analyse de vos données.
  • Automatisation: Automatisez l'importation de données pour des rapports réguliers ou des processus complexes.

Installation et Importation des Bibliothèques Nécessaires

Avant de pouvoir utiliser read_excel, vous devez vous assurer d'avoir installé Pandas et la bibliothèque openpyxl (ou xlrd pour les anciens fichiers .xls).

Installation de Pandas et openpyxl

Ouvrez votre terminal ou invite de commandes et exécutez les commandes suivantes :

pip install pandas openpyxl

Si vous utilisez un fichier .xls, installez plutôt xlrd :

pip install pandas xlrd

Importation des Bibliothèques

Dans votre script Python, importez les bibliothèques nécessaires :

import pandas as pd

Syntaxe de base de read_excel

La syntaxe de base de read_excel est la suivante :

df = pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None, dtype=None, converters=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skipfooter=0, convert_float=True, mangle_dupe_cols=True, storage_options=None)
  • io: Chemin d'accès au fichier Excel (obligatoire).
  • sheet_name: Nom ou index de la feuille à lire (par défaut, la première feuille, index 0).
  • header: Ligne(s) à utiliser comme en-tête (par défaut, la première ligne, index 0). Si None, aucun en-tête n'est utilisé.
  • names: Liste de noms de colonnes à utiliser. Remplace l'en-tête si header est spécifié.
  • index_col: Colonne(s) à utiliser comme index du DataFrame.
  • usecols: Colonnes à lire. Peut être une liste d'index de colonnes, une liste de noms de colonnes, ou une chaîne de caractères de style Excel (ex: "A:C,E").
  • dtype: Dictionnaire spécifiant le type de données de chaque colonne.
  • converters: Dictionnaire de fonctions à appliquer à chaque colonne lors de la lecture.
  • skiprows: Nombre de lignes à ignorer au début du fichier.
  • nrows: Nombre de lignes à lire.
  • na_values: Liste de valeurs à considérer comme des valeurs manquantes (NaN).
  • keep_default_na: Si True, conserve les valeurs NaN par défaut (ex: "", "#N/A", "NA", "NaN", etc.).
  • na_filter: Si True, détecte les valeurs manquantes. Utile pour accélérer la lecture si vous savez qu'il n'y a pas de valeurs manquantes.
  • verbose: Si True, affiche des informations sur le processus de lecture.
  • parse_dates: Liste de colonnes à parser comme des dates.
  • date_parser: Fonction à utiliser pour parser les dates.
  • thousands: Séparateur des milliers.
  • comment: Caractère utilisé pour indiquer un commentaire.
  • skipfooter: Nombre de lignes à ignorer à la fin du fichier.
  • convert_float: Convertit les entiers en flottants si nécessaire.
  • mangle_dupe_cols: Si True, renomme les colonnes dupliquées en ajoutant un suffixe .N.
  • storage_options: Options supplémentaires pour la lecture à partir d'un stockage distant (ex: AWS S3).

Exemples Pratiques d'utilisation de read_excel

Exemple 1: Lecture d'un fichier Excel simple

Supposons que vous ayez un fichier Excel nommé donnees.xlsx avec une seule feuille contenant des données tabulaires avec un en-tête. Pour lire ce fichier, utilisez simplement :

df = pd.read_excel('donnees.xlsx')
print(df)

Exemple 2: Spécification de la feuille de calcul

Si vous voulez lire une feuille spécifique, vous pouvez utiliser l'argument sheet_name. Vous pouvez spécifier le nom de la feuille (sous forme de chaîne de caractères) ou son index (sous forme d'entier).

# Lecture de la feuille nommée 'Clients'
df = pd.read_excel('donnees.xlsx', sheet_name='Clients')

# Lecture de la deuxième feuille (index 1)
df = pd.read_excel('donnees.xlsx', sheet_name=1)

Exemple 3: Définition de l'en-tête

Si l'en-tête se trouve sur une ligne différente de la première, vous pouvez utiliser l'argument header pour spécifier le numéro de la ligne. Si votre fichier n'a pas d'en-tête, définissez header=None et utilisez l'argument names pour fournir une liste de noms de colonnes.

# L'en-tête se trouve sur la deuxième ligne (index 1)
df = pd.read_excel('donnees.xlsx', header=1)

# Pas d'en-tête, on fournit les noms de colonnes
df = pd.read_excel('donnees.xlsx', header=None, names=['Nom', 'Age', 'Ville'])

Exemple 4: Sélection des colonnes à lire

Pour lire uniquement certaines colonnes, utilisez l'argument usecols. Vous pouvez spécifier une liste d'index de colonnes, une liste de noms de colonnes, ou une chaîne de caractères de style Excel.

# Lecture des colonnes A, C et E (index 0, 2 et 4)
df = pd.read_excel('donnees.xlsx', usecols=[0, 2, 4])

# Lecture des colonnes 'Nom' et 'Ville'
df = pd.read_excel('donnees.xlsx', usecols=['Nom', 'Ville'])

# Lecture des colonnes A à C et E
df = pd.read_excel('donnees.xlsx', usecols='A:C,E')

Exemple 5: Gestion des valeurs manquantes

Vous pouvez spécifier les valeurs à considérer comme des valeurs manquantes avec l'argument na_values.

# Considérer les chaînes de caractères 'N/A' et 'Absent' comme des valeurs manquantes
df = pd.read_excel('donnees.xlsx', na_values=['N/A', 'Absent'])

Exemple 6: Spécification des types de données

Pour forcer le type de données de certaines colonnes, utilisez l'argument dtype avec un dictionnaire associant le nom de la colonne au type de données souhaité.

# Forcer la colonne 'Age' à être de type entier et la colonne 'Prix' à être de type float
df = pd.read_excel('donnees.xlsx', dtype={'Age': int, 'Prix': float})

Bonnes Pratiques et Astuces

  • Vérifiez la version de Pandas et openpyxl/xlrd: Assurez-vous d'utiliser des versions récentes pour bénéficier des dernières fonctionnalités et corrections de bugs.
  • Utilisez usecols pour optimiser la lecture: Si vous n'avez besoin que de certaines colonnes, spécifiez-les avec usecols pour réduire la consommation de mémoire et accélérer la lecture.
  • Gérez les valeurs manquantes de manière appropriée: Définissez les valeurs manquantes avec na_values et utilisez les méthodes de Pandas pour les imputer ou les supprimer.
  • Spécifiez les types de données si nécessaire: Forcer le type de données peut éviter des erreurs et améliorer la performance.
  • Utilisez converters pour des transformations personnalisées: Appliquez des fonctions personnalisées pour transformer les données lors de la lecture.
  • Faites attention à l'encodage: Si votre fichier Excel contient des caractères spéciaux, spécifiez l'encodage approprié (ex: encoding='utf-8'). Cependant, read_excel gère généralement l'encodage automatiquement.
  • Gérez les exceptions: Utilisez des blocs try...except pour gérer les erreurs potentielles lors de la lecture du fichier.

Erreurs Courantes et Comment les Résoudre

  • FileNotFoundError: Le fichier spécifié n'existe pas. Vérifiez le chemin d'accès.
  • ModuleNotFoundError: No module named 'openpyxl' ou 'xlrd': La bibliothèque openpyxl ou xlrd n'est pas installée. Installez-la avec pip install openpyxl ou pip install xlrd.
  • ValueError: Worksheet named '...' not found: La feuille de calcul spécifiée n'existe pas. Vérifiez le nom de la feuille.
  • Erreur de type de données: Une colonne contient des données d'un type différent de celui attendu. Spécifiez le type de données correct avec dtype.
  • Problèmes d'encodage: Des caractères spéciaux ne sont pas affichés correctement. Essayez de spécifier l'encodage avec encoding (bien que rarement nécessaire).

Alternatives à read_excel

Bien que read_excel soit la méthode la plus courante pour lire des fichiers Excel en Python, il existe d'autres alternatives, notamment :

  • xlwings: Une bibliothèque plus avancée qui permet d'interagir directement avec Excel, d'exécuter des macros et de créer des applications Excel personnalisées.
  • openpyxl: La bibliothèque sous-jacente utilisée par Pandas pour lire les fichiers .xlsx. Vous pouvez l'utiliser directement pour un contrôle plus fin sur le processus de lecture.
  • xlrd: Utilisée pour lire les anciens fichiers .xls.
  • Convertir le fichier Excel en CSV: Vous pouvez convertir votre fichier Excel en un fichier CSV (Comma Separated Values) et utiliser la fonction read_csv de Pandas pour le lire. Cela peut être utile si vous avez des problèmes avec la lecture du fichier Excel.

Conclusion

La fonction read_excel de Pandas est un outil puissant et flexible pour importer des données Excel dans Python. En comprenant sa syntaxe, ses options et ses bonnes pratiques, vous pouvez facilement automatiser l'importation de vos données et les manipuler avec aisance. N'hésitez pas à expérimenter avec les différents arguments de la fonction pour l'adapter à vos besoins spécifiques. En maîtrisant read_excel, vous gagnerez un temps précieux et améliorerez votre productivité dans vos projets d'analyse de données.

Questions fréquentes

Comment installer Pandas et openpyxl ?

Vous pouvez installer Pandas et openpyxl en utilisant pip. Ouvrez votre terminal ou invite de commandes et exécutez la commande `pip install pandas openpyxl`.

Comment lire une feuille spécifique d'un fichier Excel ?

Utilisez l'argument `sheet_name` de la fonction `read_excel`. Vous pouvez spécifier le nom de la feuille (ex: `sheet_name='Feuil1'`) ou son index (ex: `sheet_name=0` pour la première feuille).

Comment gérer les valeurs manquantes lors de la lecture d'un fichier Excel ?

Utilisez l'argument `na_values` pour spécifier les valeurs à considérer comme des valeurs manquantes (NaN). Par exemple, `na_values=['N/A', 'Absent']` considérera les chaînes de caractères 'N/A' et 'Absent' comme des valeurs manquantes.

Mots-clés associés :

pandas read excel python excel excel to dataframe import excel python read_excel sheet_name

Partager cet article :