Passer au contenu du pied de page
COMPARER à D'AUTRES COMPOSANTS

Alternatives Pandas pour lire Excel (sans utiliser Interop) | IronXL pour Python

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

Dans cet article, nous comparerons les fonctionnalités et les performances de Pandas et d'IronXL pour la lecture de fichiers Excel en Python.

Pandas - Bibliothèque open source

Pandas est une puissante bibliothèque open source d'analyse et de manipulation de données pour Python. Il introduit la structure de données DataFrame, une structure de données bidimensionnelle étiquetée dont les colonnes peuvent être de types différents. Pandas offre un large éventail de fonctionnalités pour la manipulation des données, notamment la lecture et l'écriture de données provenant de diverses sources, telles que les fichiers CSV, les bases de données SQL et les fichiers Excel.

Voici quelques caractéristiques clés de Pandas :

DataFrame

Pandas introduit la structure de données DataFrame, qui est essentiellement une structure de données bidimensionnelle étiquetée, avec des colonnes pouvant être de types différents. Similaire à une feuille de calcul ou à une table SQL, elle 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, notamment la fusion, le remodelage, le découpage, l'indexation et le pivotement des données. Ces opérations permettent aux utilisateurs de nettoyer, transformer et préparer efficacement les données en vue de leur analyse ou visualisation.

Fonctionnalités de séries temporelles

Pandas offre une prise en charge robuste du traitement des données de séries temporelles, incluant des outils d'indexation et de rééchantillonnage des dates et heures, ainsi que des méthodes pratiques pour la gestion des 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 utilisées dans l'analyse de données et les calculs scientifiques, notamment NumPy, Matplotlib et Scikit-learn. Cette interopérabilité permet aux utilisateurs de tirer parti des atouts de différentes bibliothèques au sein d'un même flux de travail d'analyse.

Globalement, 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 - La bibliothèque Python pour Excel

IronXL est une bibliothèque Python conçue spécifiquement pour travailler avec des 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 simple et en éliminant le besoin de dépendances externes, telles que Microsoft Excel ou Excel Interop.

Voici quelques caractéristiques clés d'IronXL :

API intuitive de documents Excel pour Python 3+

IronXL propose une API de documents Excel pour Python 3+ intuitive et facile à utiliser, permettant aux développeurs de lire, modifier et créer facilement des fichiers de tableur Excel.

Support Multiplateforme

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

Aucune interopérabilité Microsoft Office ou Excel requise

Les développeurs peuvent travailler avec des fichiers Excel en Python sans installer Microsoft Office ni avoir à gérer l'interopérabilité Excel, ce qui simplifie le processus d'intégration et minimise les dépendances.

Compatibilité

Compatible avec Python 3.7+ sur divers systèmes d'exploitation, notamment Microsoft Windows, macOS, Linux, Docker, Azure et AWS. Compatible avec les environnements de développement intégrés (IDE) populaires comme JetBrains PyCharm et autres IDE Python.

Gestion polyvalente des classeurs

Créez, chargez, enregistrez et exportez des feuilles de calcul dans différents formats, notamment XLS, XLSX, XSLT, XLSM, CSV, TSV, JSON, HTML, binaire et tableau d'octets.

Édition de feuilles de calcul puissante

Modifier les métadonnées, définir les autorisations et les mots de passe, créer et supprimer des feuilles de calcul, manipuler la mise en page des feuilles, gérer les images, et bien plus encore.

Opérations Avancées sur Plages de Cellules

Effectuer diverses opérations sur des plages de cellules telles que le tri, le rognage, l'effacement, la copie, la recherche et le remplacement de valeurs, la définition de liens hypertextes, et la fusion et la dissociation de cellules.

Style cellulaire 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, notamment texte, nombre, formule, date, devise, scientifique, heure, booléen et formats personnalisés.

Création d'un Projet Python en utilisant PyCharm

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

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

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

    Alternatives à Pandas Read Excel (Sans Utiliser Interop) | IronXL pour 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électionnez la version de Python

    Alternatives à Pandas Read Excel (Sans Utiliser Interop) | IronXL pour 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.

Installez Pandas et IronXL à l'aide de pip

Installation de Pandas

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

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

    Alternatives à Pandas Read Excel (Sans Utiliser Interop) | IronXL pour Python : Figure 3 - Ouverture du terminal

  2. Installez Pandas via pip : Pandas peut être installé à l'aide du gestionnaire de paquets pip. Exécutez la commande suivante dans le terminal :

    pip install pandas
    pip install pandas
    SHELL

    Cette commande installe la bibliothèque Pandas et ses dépendances depuis l'index des packages Python (PyPI).

    Alternatives à Pandas Read Excel (Sans Utiliser Interop) | IronXL pour Python : Figure 4 - Sortie de la console après l'installation de Pandas

  3. Installez OpenPyXL via pip : OpenPyXL est la bibliothèque qui permet de lire et d'écrire des fichiers Excel. Il s'agit d'une des dépendances utilisées par Pandas. Lors de l'installation de Pandas, OpenPyXL est automatiquement installé s'il n'est pas déjà présent. Si, pour une raison ou une autre, il n'est pas installé, vous pouvez l'installer en utilisant la commande suivante dans le terminal :

    pip install openpyxl
    pip install openpyxl
    SHELL

Installer IronXL

Pour installer IronXL dans un projet Python, suivez ces étapes :

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

    Kit de développement logiciel .NET 6.0 : IronXL s'appuie sur la bibliothèque IronXL .NET, et plus précisément sur .NET 6.0, comme technologie sous-jacente. Assurez-vous d'avoir installé le kit de développement logiciel (SDK) .NET 6.0 sur votre ordinateur. Vous pouvez le télécharger depuis le site web officiel de .NET .

  2. Ouvrez l'invite de commandes ou le terminal : Procédez de la même manière qu'auparavant.
  3. Installez IronXL via pip : IronXL peut être installé à l'aide du gestionnaire de paquets pip. Exécutez la commande suivante :

    
    :ProductInstall
    W```
    
    This command will collect, download, and install the IronXL library and its dependencies from the Python Package Index (PyPI).
    
    ![Alternatives à Pandas Read Excel (Sans Utiliser Interop) | IronXL for Python: Figure 5 - Console output from installing IronXL](/static-assets/excel/blog/pandas-read-excel/pandas-read-excel-5.webp)
    
    :ProductInstall
    W```
    
    This command will collect, download, and install the IronXL library and its dependencies from the Python Package Index (PyPI).
    
    ![Alternatives à Pandas Read Excel (Sans Utiliser Interop) | IronXL for Python: Figure 5 - Console output from installing IronXL](/static-assets/excel/blog/pandas-read-excel/pandas-read-excel-5.webp)
    SHELL

Reading Excel Files using Pandas and IronXL

As we have set up everything, we'll move on to reading Excel files using both libraries. The demo Excel file that we are going to read has the following values with header rows as Name, Marks, and Res:

Alternatives à Pandas Read Excel (Sans Utiliser Interop) | IronXL for Python: Figure 6 - Sample Excel sheet

Using Pandas

Step 1

Import the Pandas library and use the read_excel() function to read column data from the Excel file.

import pandas as pd

# Read the Excel file
df = pd.read_excel("file.xlsx")
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 :

  • en-tête : Spécifie la ligne du fichier Excel à utiliser comme nom de colonne. Vous pouvez définir cette valeur sur " None " 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 ligne. Si cette option est omise, les en-têtes sont définis sur Vrai par défaut, et les positions de la première ligne sont affichées comme étiquettes de ligne d'en-tête.
  • index_col : Spécifie la ou les colonnes à utiliser comme index du DataFrame. Vous pouvez passer un seul nom de colonne ou un seul index de colonne, ou vous pouvez passer une liste de noms de colonnes ou d'index de colonnes pour créer un MultiIndex.

  • nom_feuille : Spécifie la ou les feuilles à lire dans le fichier Excel. Vous pouvez indiquer le nom de la feuille sous forme de chaîne de caractères ou d'entier, en commençant par la position zéro.
  • usecols : Spécifie les colonnes à lire dans le fichier Excel. Vous pouvez indiquer un nom de colonne unique ou un index de colonne, ou encore une liste de noms ou d'index de colonnes pour lire des colonnes spécifiques.
  • dtype : Spécifie les types de données des colonnes. Vous pouvez passer un dictionnaire où les clés sont des noms de colonnes ou des indices de colonnes et les valeurs sont les types de données souhaités.
  • convertisseurs : Spécifie les fonctions à appliquer aux colonnes pour une analyse personnalisée. Vous pouvez passer un dictionnaire où les clés sont des noms de colonnes ou des indices de colonnes et les valeurs sont des fonctions.

  • na_values : Spécifie des chaînes supplémentaires à reconnaître comme valeurs NaN (Not a Number). Vous pouvez passer une liste de chaînes de caractères à traiter comme NaN.
  • parse_dates : Spécifie les colonnes à analyser comme des dates. Vous pouvez passer soit un seul nom de colonne, soit un index de colonne, soit une liste de noms de colonnes ou d'index à analyser comme des dates.
  • date_parser : Spécifie une fonction à utiliser pour l'analyse des 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 grande 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

Afficher le contenu du DataFrame.

print(df)
print(df)
PYTHON

Voici la sortie du code ci-dessus :

Alternatives à Pandas Read Excel (Sans Utiliser Interop) | IronXL pour Python : Figure 7 - Sortie 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 fournir une URL de fichier valide, un chemin d'accès local ou le nom du fichier s'il se trouve dans le même répertoire que le script.

from ironxl import WorkBook

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

# Load the Excel file as a WorkBook object
workbook = WorkBook.Load("file.xlsx")
PYTHON

Étape 2 : Avec IronXL, vous pouvez accéder à plusieurs feuilles et 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 entiers en analysant les colonnes de chaînes de caractères en valeurs numériques à l'aide de la propriété IntValue, et vice versa.

# Access the first worksheet
worksheet = workbook.DefaultWorkSheet

# Select a specific cell and return the converted value
cell_value = worksheet["A2"].IntValue
print(cell_value)

# Read from the entire worksheet and print each cell's address and value
for cell in worksheet:
    print(f"Cell {cell.AddressString} has value '{cell.Text}'")
# Access the first worksheet
worksheet = workbook.DefaultWorkSheet

# Select a specific cell and return the converted value
cell_value = worksheet["A2"].IntValue
print(cell_value)

# Read from the entire worksheet and print each cell's address and value
for cell in worksheet:
    print(f"Cell {cell.AddressString} has value '{cell.Text}'")
PYTHON

Voici le résultat du code ci-dessus, affiché dans un format approprié, illustrant la polyvalence d'IronXL :

Alternatives à Pandas Read Excel (Sans Utiliser Interop) | IronXL pour Python : Figure 8 - Sortie console du code IronXL

Pour plus d'informations sur l'utilisation des fichiers Excel, veuillez consulter cette page d'exemples de code .

Conclusion

En conclusion, Pandas et IronXL offrent tous deux des méthodes efficaces pour lire des fichiers Excel en Python. Cependant, IronXL offre plusieurs avantages par rapport à Pandas, notamment en termes de facilité d'utilisation, de performances et de capacités spécialisées de gestion d'Excel. L'API intuitive et les fonctionnalités complètes d'IronXL en font un choix de premier ordre pour les projets nécessitant des tâches de manipulation Excel complexes.

De plus, IronXL élimine le besoin de dépendances externes telles que Microsoft Excel ou Excel Interop, simplifiant ainsi le processus de développement et améliorant la portabilité sur différentes plateformes. 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 s'impose comme le choix privilégié, offrant de meilleures fonctionnalités et des outils améliorés par rapport à Pandas. Pour plus d'informations sur IronXL, veuillez consulter cette page de documentation .

IronXL propose un essai gratuit 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 capacités offertes par IronXL sans aucun engagement financier initial. Que vous envisagiez IronXL pour des tâches d'importation/exportation de données, de génération de rapports ou d'analyse de données, l'essai gratuit 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 la version d'essai gratuite, consultez la page des licences du site Web d'IronXL. Vous trouverez ici des informations détaillées sur les conditions de licence, y compris les options d'utilisation commerciale et d'assistance. Pour commencer à utiliser IronXL et découvrir ses avantages par vous-même, téléchargez la bibliothèque ici .

Veuillez noterPandas est une marque déposée de son propriétaire respectif. Ce site n'est ni affilié à, ni approuvé par, ni sponsorisé par Pandas. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont faites à titre d'information uniquement et reflètent les informations publiquement disponibles au moment de la rédaction.

Questions Fréquemment Posées

Comment puis-je lire des fichiers Excel en Python sans utiliser Interop ?

Vous pouvez utiliser IronXL, une bibliothèque Python conçue pour travailler avec des fichiers Excel, qui ne nécessite ni Microsoft Office ni Interop Excel. Elle fournit une API intuitive pour une manipulation fluide des fichiers Excel.

Qu'est-ce qui fait d'IronXL un meilleur choix pour les tâches spécifiques à Excel par rapport à Pandas ?

IronXL propose une API spécialisée qui simplifie les opérations sur les fichiers Excel sans dépendances externes. Elle prend en charge divers formats Excel, la manipulation avancée des feuilles de calcul et les opérations de cellule, ce qui la rend supérieure pour les tâches spécifiques à Excel.

Puis-je manipuler des fichiers Excel sur différents systèmes d'exploitation avec IronXL ?

Oui, IronXL est compatible avec Python 3.7+ et prend en charge des plateformes comme Windows, macOS, Linux, Docker, Azure, et AWS, offrant une fonctionnalité multiplateforme pour la manipulation des fichiers Excel.

Comment installer IronXL pour un projet Python ?

Tout d'abord, assurez-vous d'avoir installé le SDK .NET 6.0. Ensuite, utilisez pip pour installer IronXL en exécutant la commande : pip install ironxl dans le terminal.

Quels formats de fichiers Excel IronXL peut-il gérer?

IronXL prend en charge un large éventail de formats de fichiers Excel, notamment XLS, XLSX, XSLT, XLSM, CSV, TSV, JSON, HTML, Binaire, et Tableau d'octets.

Y a-t-il un essai gratuit disponible pour IronXL ?

Oui, IronXL offre un essai gratuit pour les développeurs afin de tester sa fonctionnalité. Vous pouvez trouver plus d'informations sur l'essai et les options de licence sur le site IronXL.

Comment IronXL améliore-t-il les performances de lecture des fichiers Excel en Python ?

IronXL fournit une API optimisée pour lire et manipuler efficacement les fichiers Excel, offrant de meilleures performances pour les tâches spécifiques à Excel par rapport aux bibliothèques d'analyse de données générales comme Pandas.

Comment lire des fichiers Excel en utilisant IronXL en Python ?

Vous pouvez lire des fichiers Excel en Python en utilisant les méthodes simples d'IronXL. Utilisez simplement les fonctions de la bibliothèque pour charger et manipuler les données Excel selon vos besoins.

Pourquoi choisir IronXL pour les projets Python impliquant une manipulation extensive d'Excel ?

IronXL est recommandé pour sa facilité d'utilisation, ses performances et ses fonctionnalités complètes telles que le style de cellule flexible et les fonctions mathématiques, ce qui en fait le choix idéal pour les projets nécessitant une manipulation extensive d'Excel.

Quelles sont les alternatives à Pandas pour lire des fichiers Excel en Python ?

IronXL est une forte alternative à Pandas pour lire des fichiers Excel en Python, offrant des fonctionnalités spécifiques pour la manipulation d'Excel sans nécessiter Microsoft Office ou des dépendances externes.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite