COMPARAISON AVEC D'AUTRES COMPOSANTS

Alternatives à Pandas Read Excel (sans utiliser l'interopérabilité) | IronXL for Python

Chaknith Bin
Chaknith Bin
avril 3, 2024
Partager:

Les fichiers Excel sont omniprésents dans les tâches d'analyse et de manipulation de données, car ils offrent un moyen pratique de stocker et d'organiser des données tabulaires. En Python, il existe plusieurs bibliothèques disponibles pour lire des fichiers Excel, chacune ayant son propre ensemble de fonctionnalités et de capacités. Deux options importantes sont Pandas et IronXL, qui offrent toutes deux des méthodes efficaces pour lire les fichiers Excel en Python.

Dans cet article, nous comparerons la fonctionnalité et la performance de Pandas et IronXL pour lire des fichiers Excel en Python.

Pandas - Bibliothèque Open Source

Pandas est une puissante bibliothèque open-source pour l'analyse et la manipulation des données en Python. Il présente la structure de données DataFrame, qui est une structure de données étiquetée en deux dimensions avec des colonnes de types potentiellement différents. Pandas offre un large éventail de fonctionnalités pour la manipulation des données, y compris la lecture et l'écriture de données à partir de diverses sources, telles que les fichiers CSV, les bases de données SQL et les fichiers Excel.

Voici quelques-unes des principales caractéristiques de Pandas :

Cadre de données

Pandas présente la structure de données DataFrame, qui est essentiellement une structure de données étiquetée en deux dimensions avec des colonnes de types potentiellement différents. Elle est similaire à une feuille de calcul ou à une table SQL, ce qui facilite les opérations de filtrage, de regroupement et d'agrégation sur les données tabulaires.

Manipulation des données

Pandas offre un large éventail de fonctions pour la manipulation des données, y compris la fusion, le remodelage, le découpage, l'indexation et le pivotement des données. Ces opérations permettent aux utilisateurs de nettoyer, de transformer et de préparer efficacement les données pour l'analyse ou la visualisation.

Fonctionnalité des séries chronologiques

Pandas offre un support solide pour travailler avec des données de séries temporelles, y compris des outils pour l'indexation date/heure et le rééchantillonnage, ainsi que des méthodes pratiques pour gérer les données manquantes et la conversion des fuseaux horaires.

Intégration avec les bibliothèques

Pandas peut collaborer de manière transparente avec diverses bibliothèques Python fréquemment employées dans l'analyse de données et les calculs scientifiques, notamment NumPy, Matplotlib et Scikit-learn. Cette interopérabilité permet aux utilisateurs d'exploiter les points forts de différentes bibliothèques dans le cadre d'un flux d'analyse unique.

Dans l'ensemble, Pandas est un outil puissant pour la manipulation et l'analyse de données en Python, et il est largement utilisé dans divers domaines, notamment la finance, l'économie, la biologie et les sciences sociales.

IronXL for Python Excel Library (en anglais)

IronXL est une bibliothèque Python conçue spécifiquement pour travailler avec les fichiers Excel. Il fournit une API intuitive pour lire, écrire et manipuler des documents Excel en Python. IronXL vise à simplifier les opérations sur les fichiers Excel en offrant une interface directe et en éliminant le besoin de dépendances externes, telles que Microsoft Excel ou Excel Interop.

Les principales caractéristiques d'IronXL sont énumérées ci-dessous :

API Intuitive Python 3+ pour les documents Excel

IronXL propose une API de document Excel Python 3+ intuitive et facile à utiliser, permettant aux développeurs de lire, d'éditer et de créer des fichiers de feuilles de calcul Excel en toute transparence.

Support multiplateforme

Conçu pour Python 3+ et compatible avec Windows, Mac, Linux et les plateformes cloud, IronXL garantit la flexibilité des environnements de déploiement.

Pas besoin d'interopérabilité avec Microsoft Office ou Excel

Les développeurs peuvent travailler avec des fichiers Excel dans Python sans avoir à installer Microsoft Office ou à s'occuper d'Excel Interop, ce qui simplifie le processus d'intégration et minimise les dépendances.

Compatibilité

Prend en charge Python 3.7+ sur différents systèmes d'exploitation, notamment Microsoft Windows, macOS, Linux, Docker, Azure et AWS. Compatible avec des IDE populaires comme JetBrains PyCharm et d'autres IDE Python.

Manipulation polyvalente des carnets de travail

Créer, charger, enregistrer et exporter des feuilles de calcul dans différents formats, notamment XLS, XLSX, XSLT, XLSM, CSV, TSV, JSON, HTML, binaire et tableau d'octets.

Edition puissante des feuilles de travail

Modifiez les métadonnées, définissez les autorisations et les mots de passe, créez et supprimez des feuilles de travail, manipulez la mise en page des feuilles, gérez les images, etc.

Fonctionnement avancé de la gamme de cellules

Effectuer diverses opérations sur des plages de cellules telles que le tri, le découpage, l'effacement, la copie, la recherche et le remplacement de valeurs, la mise en place d'hyperliens et la fusion et la défusion de cellules.

Style de cellule flexible

Personnalisez les styles de cellules, notamment la police, la taille, la bordure, l'alignement et le motif d'arrière-plan, et appliquez une mise en forme conditionnelle.

Fonctions mathématiques et formats de données

Utilisez des fonctions mathématiques telles que la moyenne, la somme, le minimum et le maximum, et définissez les formats de données des cellules (texte, nombre, formule, date, devise, scientifique, heure, booléen et formats personnalisés).

Créer un projet Python avec PyCharm

Tout d'abord, Python doit être installé sur votre machine. Installez la dernière version de Python 3.x depuis le site officiel de Python. Lors de l'installation de Python, veillez à choisir l'option permettant d'ajouter Python au PATH du système, afin de pouvoir y accéder à partir de la ligne de commande.

Pour démontrer la fonctionnalité de Pandas et d'IronXL dans la lecture des fichiers Excel, créons un projet Python en utilisant PyCharm, un environnement de développement intégré (IDE) populaire pour Python.

  1. Ouvrez PyCharm et créez un nouveau projet Python.

    Alternatives pour lire des fichiers Excel avec Pandas (sans utiliser Interop)  IronXL for Python : Figure 1 - Création d'un nouveau projet PyCharm

  2. Configurez le projet comme suit :

    • Donnez un nom au projet. Dans ce cas "pythonReadExcel"

    • Choisissez l'emplacement souhaité pour le projet

    • Choisissez le type d'interprète : Projet venv

    • Sélectionner la version de Python

    Alternatives pour lire des fichiers Excel avec Pandas (sans utiliser Interop) IronXL for Python : Figure 2 - Configuration du nom du projet, du type d'interpréteur et de la version de Python

  3. Cliquez sur "Créer" pour créer le projet.

Installer Pandas et IronXL à l'aide de pip

Installation de Pandas

Pour installer Pandas dans votre projet, vous pouvez suivre les étapes suivantes :

  1. Ouvrez l'invite de commande ou le terminal : Dans PyCharm, allez dans Affichage->Fenêtres d'outils->Terminal.

    Alternatives à Pandas Read Excel (Sans utiliser Interop) IronXL for Python : Figure 3 - Ouverture du terminal

  2. Installer Pandas via pip : Pandas peut être installé en utilisant le gestionnaire de paquets pip. Exécutez la commande suivante dans le terminal :
    pip install pandas

Cette commande installe la bibliothèque Pandas et ses dépendances à partir de l'Index des Paquets Python (PyPI).

Alternatives pour lire des fichiers Excel avec Pandas (sans utiliser Interop) IronXL for Python : Figure 4 - Sortie de la console après l'installation de Pandas

  1. Installer OpenPyXL via pip : OpenPyXL est la bibliothèque qui aide à lire et écrire des fichiers Excel. C'est l'une des dépendances utilisées par Pandas. Lorsque vous installez Pandas, OpenPyXL est automatiquement installé s'il n'est pas déjà présent. S'il n'est pas installé, vous pouvez l'installer en utilisant la commande suivante dans le terminal :
pip install openpyxl

Installation d'IronXL

Pour installer IronXL pour Python dans un projet, suivez les étapes suivantes :

  1. Assurez-vous des prérequis : Avant d'installer IronXL, assurez-vous d'avoir les prérequis nécessaires installés sur votre système :

    SDK .NET 6.0 : IronXL repose sur la bibliothèque IronXL .NET, spécifiquement .NET 6.0, comme technologie sous-jacente. Assurez-vous d'avoir installé le SDK .NET 6.0 sur votre machine. Vous pouvez le télécharger depuis le site officiel .NET.

  2. Ouvrez l'Invite de commandes ou le Terminal : Faites de même qu'auparavant.

  3. Installez IronXL via pip : IronXL peut être installé en utilisant le gestionnaire de paquets pip. Exécutez la commande suivante :
 pip install IronXL

Cette commande collectera, téléchargera et installera la bibliothèque IronXL ainsi que ses dépendances depuis le Python Package Index (PyPI).

Alternatives à Pandas Read Excel (sans utiliser Interop) IronXL for Python : Figure 5 - Sortie de la console lors de l'installation de IronXL

Lecture de fichiers Excel avec Pandas et IronXL

Comme nous avons tout mis en place, nous allons passer à la lecture des fichiers Excel en utilisant les deux bibliothèques. Le fichier Excel de démonstration que nous allons lire contient les valeurs suivantes, dont les lignes d'en-tête sont Nom, Marques et Res :

Alternatives à Pandas Read Excel (sans utiliser Interop) IronXL for Python : Figure 6 - Feuille Excel d'exemple

Utilisation de Pandas

Étape 1

Importez la bibliothèque Pandas et utilisez la fonction read_excel() pour lire les données de colonne du fichier Excel.

import pandas as pd
# Read the Excel file
df = pd.read_excel("file.xlsx")
PYTHON

Lorsque vous utilisez la fonction read_excel() de Pandas, vous pouvez spécifier plusieurs options d'affichage selon vos besoins :

header : Spécifie quelle ligne du fichier Excel utiliser comme noms de colonnes. Vous pouvez le définir sur Aucun pour indiquer qu'il n'y a pas de ligne d'en-tête, ou vous pouvez fournir un entier indiquant le numéro de la ligne. S'ils sont ignorés, les en-têtes sont mis à bool default true, et les positions de la première ligne sont affichées en tant qu'étiquettes de la ligne d'en-tête.

index_col : Spécifie quelle colonne ou quelles colonnes utiliser comme index du DataFrame. Vous pouvez transmettre un seul nom de colonne ou un index de colonne. Vous pouvez également transmettre une liste de noms de colonnes ou d'indices de colonnes pour créer un MultiIndex.

sheet_name : Spécifie la ou les feuilles à lire à partir du fichier Excel. Vous pouvez fournir le nom de la feuille sous forme de chaîne de caractères ou un entier indiquant les positions des feuilles avec un index commençant à zéro.

usecols : Spécifie quelles colonnes lire à partir du fichier Excel. Vous pouvez passer soit un nom de colonne unique, soit un indice de colonne. Vous pouvez également passer une liste de noms de colonnes ou d'indices de colonnes pour lire des colonnes spécifiques.

dtype : Spécifie les types de données pour les colonnes. Vous pouvez transmettre un dictionnaire dont les clés sont des noms de colonnes ou des indices de colonnes et dont les valeurs sont les types de données souhaités.

convertisseurs : Spécifie les fonctions à appliquer aux colonnes pour un analyseur personnalisé. Vous pouvez transmettre un dictionnaire dont les clés sont des noms de colonnes ou des indices de colonnes et les valeurs des fonctions.

na_values : Spécifie des chaînes supplémentaires à reconnaître comme des valeurs NaN (Not a Number). Vous pouvez passer une liste de chaînes de caractères à traiter comme NaN.

parse_dates : Spécifie quelles colonnes analyser comme des dates. Vous pouvez transmettre un nom de colonne unique ou un index de colonne. Vous pouvez également transmettre une liste de noms de colonnes ou d'indices à analyser en tant que dates.

date_parser : Spécifie une fonction à utiliser pour analyser les dates. Vous pouvez passer une fonction qui accepte une chaîne de caractères et renvoie un objet datetime.

skiprows : Spécifie le nombre de lignes à ignorer au début du fichier Excel.

Ces options offrent une certaine flexibilité lors de la lecture de fichiers Excel avec Pandas, vous permettant de personnaliser le processus de lecture en fonction de vos besoins spécifiques.

Étape 2

Affiche le contenu du DataFrame.

print(df)
PYTHON

Voici le résultat du code ci-dessus :

Alternatives à Pandas Read Excel (sans utiliser Interop) IronXL for Python : Figure 7 - Résultat de l'exécution du code Pandas

Utilisation d'IronXL

Étape 1 : Importez la bibliothèque IronXL et utilisez la méthode WorkBook.Load() pour charger le fichier Excel. Dans le paramètre de la méthode Load, vous pouvez passer les URL de fichier valides, l'objet chemin de fichier local ou le nom de fichier s'il se trouve dans le même répertoire que le script.

from ironxl import WorkBook
# Load the Excel file like object
workbook = WorkBook.Load("file.xlsx")
PYTHON

Étape 2 : Avec IronXL, vous pouvez demander plusieurs feuilles et également imprimer des étiquettes de colonnes. Accédez aux feuilles de calcul et aux cellules pour lire les données stockées dans les colonnes. Les cellules peuvent être de n'importe quel type de données, comme des colonnes numériques ou des colonnes de chaînes de caractères. Les valeurs des cellules peuvent être converties en int en analysant les colonnes de chaînes en valeurs numériques à l'aide de la propriété IntValue et vice versa.

# Access the first worksheet
# Loads the first sheet from list of int default worksheets
worksheet = workbook.DefaultWorkSheet
# Select a cell and return the converted value
cell_value = worksheet ["A2"].IntValue
print(cell_value)
# Read from the entire worksheet elegantly.
for cell in worksheet:
    print("Cell {} has value '{}'".format(cell.AddressString, cell.Text))
PYTHON

Voici la sortie du code ci-dessus avec un format d'affichage adéquat qui illustre la polyvalence d'IronXL :

Alternatives à Pandas Read Excel (sans utiliser Interop) IronXL for Python : Figure 8 - Sortie de console du code IronXL

Pour plus d'informations sur le travail avec les fichiers Excel, veuillez visiter cette page d'exemples de code.

Conclusion

En conclusion, à la fois Pandas et IronXL offrent des méthodes efficaces pour lire les fichiers Excel en Python. Cependant, IronXL présente plusieurs avantages par rapport à Pandas, notamment en termes de facilité d'utilisation, de performances et de capacités de traitement spécialisées d'Excel. L'API intuitive et les fonctionnalités complètes d'IronXL en font un choix supérieur pour les projets nécessitant des tâches de manipulation Excel étendues.

En outre, IronXL élimine la nécessité de recourir à des dépendances externes telles que Microsoft Excel ou Excel Interop, ce qui simplifie le processus de développement et améliore la portabilité sur différentes plates-formes. Par conséquent, pour les développeurs Python à la recherche d'une solution robuste et efficace pour les opérations sur les fichiers Excel, IronXL apparaît comme le choix privilégié, offrant de meilleures facilités et des fonctionnalités améliorées par rapport à Pandas. Pour plus d'informations détaillées sur IronXL, veuillez visiter cette page de documentation.

IronXL offre une version d'essai gratuite pour tester ses fonctionnalités et sa faisabilité pour vos projets Python. Cet essai permet aux développeurs d'explorer l'ensemble des fonctionnalités et des capacités offertes par IronXL sans engagement financier préalable. Que vous envisagiez d'utiliser IronXL pour des tâches d'importation/exportation de données, de génération de rapports ou d'analyse de données, la version d'essai gratuite vous offre la possibilité d'évaluer ses performances et son adéquation à vos besoins spécifiques.

Pour plus d'informations sur les options de licence et pour télécharger l'essai gratuit, visitez la page de licence du site Web d'IronXL. Vous y trouverez des informations détaillées sur les conditions de licence, y compris les options d'utilisation commerciale et d'assistance. Pour commencer avec IronXL et découvrir ses avantages par vous-même, téléchargez la bibliothèque depuis ici.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT
Comparaison entre IronXL for Python et IronXL Python