Guides Excel

Pandas et Excel : Comment exploiter la puissance de Python avec vos feuilles de calcul ?

15 janvier 2026 1 vues

Vous jonglez entre Excel et Python pour analyser vos données ? L'intégration de Pandas, la puissante bibliothèque Python de manipulation de données, avec Excel peut révolutionner votre flux de travail. Cet article vous guide pas à pas pour exploiter le meilleur des deux mondes : la familiarité d'Excel et la puissance de Pandas pour des analyses de données plus poussées et automatisées. Découvrez comment lire, écrire et transformer vos données Excel grâce à Pandas.

Pandas et Excel : Un duo gagnant pour l'analyse de données

Pandas est une bibliothèque Python open source qui offre des structures de données performantes et faciles à utiliser, ainsi que des outils d'analyse de données. Excel, quant à lui, est un tableur largement utilisé pour organiser et visualiser des données. Combiner les deux permet de surmonter les limitations de chacun et d'améliorer considérablement votre flux de travail.

Pourquoi utiliser Pandas avec Excel ?

  • Dépassement des limites d'Excel : Excel a des limitations en termes de taille de données et de complexité des analyses. Pandas peut gérer des ensembles de données beaucoup plus volumineux et effectuer des opérations complexes plus efficacement.
  • Automatisation des tâches : Pandas permet d'automatiser les tâches répétitives de manipulation et d'analyse de données, ce qui vous fait gagner du temps et réduit les risques d'erreurs.
  • Flexibilité et puissance de Python : Pandas s'intègre parfaitement à l'écosystème Python, vous donnant accès à une vaste gamme de bibliothèques pour l'analyse statistique, la visualisation de données, le machine learning, etc.
  • Reproductibilité : En utilisant Pandas, vous pouvez créer des scripts reproductibles pour vos analyses, ce qui facilite la collaboration et le partage de vos résultats.

Prérequis

Avant de commencer, assurez-vous d'avoir les éléments suivants :

  • Python installé : Téléchargez et installez Python depuis le site officiel (https://www.python.org/).
  • Pandas installé : Ouvrez votre terminal ou invite de commandes et exécutez la commande pip install pandas.
  • Excel installé : Vous aurez besoin d'une version d'Excel installée sur votre ordinateur.

Lire des données Excel avec Pandas

La première étape pour combiner Pandas et Excel consiste à lire les données de votre fichier Excel dans un DataFrame Pandas. Un DataFrame est une structure de données tabulaire, similaire à une feuille de calcul Excel.

La fonction read_excel()

Pandas fournit la fonction read_excel() pour lire les données Excel. Voici un exemple simple :

import pandas as pd

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

Explication :

  1. import pandas as pd : Importe la bibliothèque Pandas et lui donne l'alias pd pour une utilisation plus concise.
  2. df = pd.read_excel('mon_fichier.xlsx') : Lit les données du fichier Excel mon_fichier.xlsx et les stocke dans un DataFrame appelé df.
  3. print(df) : Affiche le contenu du DataFrame.

Exemple concret :

Supposons que vous ayez un fichier Excel nommé ventes.xlsx avec les colonnes Date, Produit, Quantité, et Prix. L'exécution du code ci-dessus affichera le contenu de ce fichier dans votre console.

Options importantes de read_excel() :

  • sheet_name : Spécifie la feuille de calcul à lire (par défaut, la première feuille).
  • header : Indique la ligne contenant les noms de colonnes (par défaut, la première ligne).
  • index_col : Spécifie la colonne à utiliser comme index du DataFrame.
  • usecols : Sélectionne les colonnes à importer.
  • skiprows : Ignore les premières lignes du fichier.
  • nrows : Lit un nombre limité de lignes.

Exemple avec options :

df = pd.read_excel('ventes.xlsx', sheet_name='Feuil2', header=0, index_col='Date', usecols=['Date', 'Produit', 'Quantité'])
print(df)

Explication :

  • sheet_name='Feuil2' : Lit les données de la feuille de calcul nommée "Feuil2".
  • header=0 : Utilise la première ligne (index 0) comme noms de colonnes.
  • index_col='Date' : Utilise la colonne "Date" comme index du DataFrame.
  • usecols=['Date', 'Produit', 'Quantité'] : Importe uniquement les colonnes "Date", "Produit", et "Quantité".

Gérer les erreurs courantes

  • Fichier non trouvé : Assurez-vous que le fichier Excel existe à l'emplacement spécifié et que le chemin d'accès est correct.
  • Sheet name incorrect : Vérifiez que le nom de la feuille de calcul est correct.
  • Types de données incorrects : Pandas peut parfois mal interpréter les types de données. Vous pouvez spécifier les types de données explicitement à l'aide de l'argument dtype de la fonction read_excel(). Par exemple:
df = pd.read_excel('ventes.xlsx', dtype={'Quantité': int, 'Prix': float})

Écrire des données Pandas dans un fichier Excel

Une fois que vous avez manipulé vos données avec Pandas, vous pouvez les exporter vers un fichier Excel.

La fonction to_excel()

Pandas fournit la fonction to_excel() pour écrire un DataFrame dans un fichier Excel. Voici un exemple :

df.to_excel('nouveau_fichier.xlsx', index=False)

Explication :

  • df.to_excel('nouveau_fichier.xlsx', index=False) : Écrit le DataFrame df dans un fichier Excel nommé nouveau_fichier.xlsx. L'argument index=False empêche l'index du DataFrame d'être écrit dans le fichier Excel.

Options importantes de to_excel() :

  • sheet_name : Spécifie le nom de la feuille de calcul.
  • header : Indique si les noms de colonnes doivent être écrits (par défaut, True).
  • index : Indique si l'index du DataFrame doit être écrit (par défaut, True).
  • startrow : Spécifie la ligne de départ pour l'écriture des données.
  • startcol : Spécifie la colonne de départ pour l'écriture des données.

Exemple avec options :

df.to_excel('nouveau_fichier.xlsx', sheet_name='Résultats', header=True, index=False, startrow=1, startcol=2)

Explication :

  • sheet_name='Résultats' : Écrit les données dans une feuille de calcul nommée "Résultats".
  • header=True : Écrit les noms de colonnes.
  • index=False : N'écrit pas l'index du DataFrame.
  • startrow=1 : Commence à écrire les données à partir de la ligne 2 (index 1).
  • startcol=2 : Commence à écrire les données à partir de la colonne C (index 2).

Formater les données Excel avec Pandas et Openpyxl

Bien que to_excel() permette d'écrire des données dans un fichier Excel, il ne permet pas de formater les données directement. Pour un formatage plus avancé, vous pouvez utiliser la bibliothèque openpyxl en combinaison avec Pandas.

import pandas as pd
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows

df = pd.DataFrame({'Colonne A': [1, 2, 3], 'Colonne B': [4, 5, 6]})

# Créer un fichier Excel (ou en charger un existant)
with pd.ExcelWriter('fichier_formatte.xlsx', engine='openpyxl') as writer:
    df.to_excel(writer, sheet_name='Feuil1', index=False)

    # Charger le workbook pour le formatage
    workbook = writer.book
    worksheet = writer.sheets['Feuil1']

    # Formater la colonne A en gras
    for cell in worksheet['A']:
        cell.font = openpyxl.styles.Font(bold=True)

    # Formater la colonne B avec un format numérique
    for cell in worksheet['B']:
        cell.number_format = '0.00'

Explication :

  1. On utilise ExcelWriter avec le moteur openpyxl pour créer ou charger un fichier Excel.
  2. On écrit le DataFrame dans une feuille.
  3. On charge le workbook openpyxl pour accéder aux fonctionnalités de formatage.
  4. On itère sur les cellules de chaque colonne et on applique le format souhaité.

Ce code est un squelette. Vous pouvez adapter le formatage (couleurs, bordures, alignement, etc.) selon vos besoins en explorant la documentation d'Openpyxl.

Exemples d'utilisation concrets

Analyse des ventes

Supposons que vous ayez un fichier Excel contenant des données de ventes. Vous pouvez utiliser Pandas pour :

  • Calculer le total des ventes par produit.
  • Identifier les produits les plus vendus.
  • Calculer la moyenne des ventes par mois.
  • Créer des graphiques pour visualiser les données.
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_excel('ventes.xlsx')

# Calculer le total des ventes par produit
total_ventes_par_produit = df.groupby('Produit')['Quantité'].sum()
print(total_ventes_par_produit)

# Identifier les produits les plus vendus
produits_les_plus_vendus = total_ventes_par_produit.sort_values(ascending=False)
print(produits_les_plus_vendus)

# Créer un graphique
produits_les_plus_vendus.plot(kind='bar')
plt.title('Ventes par produit')
plt.xlabel('Produit')
plt.ylabel('Quantité vendue')
plt.show()

Nettoyage des données

Pandas est également très utile pour nettoyer les données Excel.

  • Supprimer les lignes ou colonnes vides.
  • Remplacer les valeurs manquantes.
  • Convertir les types de données.
  • Supprimer les doublons.
import pandas as pd

df = pd.read_excel('donnees_sales.xlsx')

# Supprimer les lignes avec des valeurs manquantes
df = df.dropna()

# Remplacer les valeurs manquantes par 0
df = df.fillna(0)

# Convertir la colonne "Date" en type datetime
df['Date'] = pd.to_datetime(df['Date'])

# Supprimer les doublons
df = df.drop_duplicates()

print(df)

Bonnes pratiques et erreurs à éviter

  • Utiliser des noms de colonnes clairs et cohérents : Cela facilite la manipulation des données et rend votre code plus lisible.
  • Spécifier les types de données : Cela évite les erreurs d'interprétation des données.
  • Gérer les valeurs manquantes : Décidez comment traiter les valeurs manquantes (suppression, remplacement, etc.).
  • Tester votre code : Vérifiez que votre code fonctionne correctement et produit les résultats attendus.
  • Ne pas stocker de données sensibles directement dans le code : Utilisez des variables d'environnement ou des fichiers de configuration pour stocker les informations sensibles comme les mots de passe.

Conclusion

L'intégration de Pandas et Excel offre une solution puissante et flexible pour l'analyse de données. En combinant la familiarité d'Excel avec la puissance de Pandas, vous pouvez automatiser vos tâches, gérer des ensembles de données volumineux et effectuer des analyses complexes plus efficacement. N'hésitez pas à explorer les nombreuses fonctionnalités de Pandas et à les adapter à vos besoins spécifiques pour optimiser votre flux de travail.

Questions fréquentes

Pandas est-il difficile à apprendre si je connais déjà Excel ?

Non, si vous êtes déjà familier avec les concepts de tableurs comme les colonnes, les lignes et les formules, vous trouverez une certaine similarité avec Pandas. La syntaxe de Python peut demander un peu d'adaptation, mais de nombreuses ressources et tutoriels sont disponibles pour faciliter l'apprentissage.

Puis-je utiliser Pandas pour créer des graphiques directement à partir de mes données Excel ?

Oui, Pandas s'intègre bien avec des bibliothèques de visualisation comme Matplotlib et Seaborn. Vous pouvez facilement créer des graphiques à barres, des histogrammes, des nuages de points et bien d'autres types de visualisations directement à partir de vos DataFrames Pandas.

Est-ce que Pandas peut lire et écrire des fichiers Excel avec des macros ?

Non, Pandas ne peut pas exécuter ni manipuler les macros VBA présentes dans les fichiers Excel. Pandas se concentre sur la manipulation des données elles-mêmes. Si vous avez besoin d'interagir avec des macros, vous devrez utiliser d'autres bibliothèques Python comme `xlwings`.

Mots-clés associés :

python excel automation pandas data analysis excel data manipulation python read excel with python write excel with python

Partager cet article :