XLSX en CSV en Python

Xlsx En Csv En Python



Ces dernières années, Python est devenu l'un des langages de programmation dominants. La communauté Python s'est considérablement développée en raison de la popularité et de l'utilité de Python. Nous allons entrer dans les détails dans cet article sur la façon d'utiliser Python pour convertir XLSX en CSV. Nous sommes conscients que les fichiers Excel sont fréquemment utilisés pour effectuer des analyses financières, organiser les données, la saisie de données, la comptabilité, la gestion des données, créer des tableaux et des graphiques, etc. Cependant, nous préférons généralement utiliser des fichiers CSV pour l'importation et l'exportation de données. Une approche consiste à transférer les données structurées à l'aide d'un fichier texte brut.

Qu'est-ce qu'un fichier Xslx ?

Lors de la création de feuilles de calcul dans les dernières versions d'Excel, Microsoft utilise un fichier XLSX comme type de fichier par défaut. Semblable au type de fichier DOCX de Word, nous pouvons ouvrir les fichiers XLSX à l'aide d'une variété d'applications/programmes.

Qu'est-ce qu'un fichier CSV ?

Le format de fichier CSV est ce que nous pouvons utiliser pour stocker les valeurs de données tabulaires dans des feuilles de calcul et des bases de données. Les données tabulaires, textuelles ou textuelles, sont stockées sous forme de texte brut dans un fichier CSV. Un enregistrement dans le fichier CSV est la valeur de données stockée sur chaque ligne du fichier. Chaque enregistrement peut avoir plusieurs champs séparés par des virgules.







Principales différences entre les fichiers XLSX et CSV

Les utilisateurs utilisent souvent CSV et XLSX de manière interchangeable, et ils ignorent généralement les distinctions entre eux, quelles sont leurs caractéristiques fondamentales et comment ils fonctionnent. Il sert uniquement de source d'information pour l'utilisateur. Presque toutes les entreprises et entreprises utilisent les deux pour aider les utilisateurs à gérer, mettre à jour et stocker les données de l'utilisateur. Voici quelques différences clés entre les fichiers XLSX et CSV que vous devez connaître :



  • Le format CSV enregistre les données tabulaires dans un fichier texte délimiteur avec l'extension .csv. Alors qu'un fichier Excel ou XLSX est une feuille de calcul qui stocke les fichiers dans son format propriétaire, à savoir. xls ou XLSX.
  • Les fichiers Excel sont des fichiers binaires qui contiennent les données de chaque feuille de calcul d'un classeur. Alors que CSV est un format de texte clair et simple avec une séquence de valeurs de données séparées par des virgules.
  • Les opérations de données ne peuvent pas être effectuées sur des fichiers CSV. Cependant, elles peuvent être réalisées sur des fichiers Excel.
  • Les fichiers CSV sont plus rapides et utilisent moins de mémoire que les fichiers XLSX. Cependant, Excel utilise plus de mémoire lors de l'importation des données.
  • Si nous comparons CSV avec Excel, nous pouvons ouvrir les fichiers CSV dans n'importe quel éditeur de texte Windows alors que les fichiers Excel ne le peuvent pas.

Comment un fichier XLSX peut-il être converti en CSV à l'aide de Python ?

Un fichier XLSX peut être transformé en un fichier CSV en Python en utilisant diverses méthodes. Python comprend une variété de modules et de fonctions qui peuvent nous aider à accomplir cette tâche. Ici, nous allons passer en revue quelques méthodes qui peuvent être utilisées pour convertir les fichiers XLSX en fichiers CSV en Python.



Prérequis pour effectuer la conversion Excel en CSV

L'installation des exigences est la première étape. Nous utilisons les modules tels que combiner Pandas, CSV et Openpyxl, etc. dans ce didacticiel. Le package Pandas de Python permet la manipulation et l'analyse des données. Pandas est une bibliothèque bien connue des programmeurs Python. Les fichiers Excel peuvent être lus et écrits à l'aide du package Python appelé Openpyxl. Nous ne traiterons pas directement de cette bibliothèque. Les pandas utilisent plutôt Openpyxl en interne.





En utilisant le référentiel PyPI, nous pouvons installer les deux packages :

Méthode 1 : Conversion de XLSX en CSV à l'aide du module Pandas

Exemple 1 : Conversion d'un fichier XLSX en CSV



Pandas est un module open-source créé pour le langage de programmation Python pour manipuler et analyser les données. Pour travailler avec des séries chronologiques et des tableaux numériques, Pandas fournit une variété de fonctionnalités et de fonctionnalités. À l'aide de pandas, les petits et les grands ensembles de données peuvent être lus, filtrés et réorganisés. Et les résultats peuvent être produits dans une variété de formats tels qu'Excel, JSON et CSV. Nous utilisons la méthode read_excel() de Pandas pour lire un fichier excel, et la méthode to_csv() pour transformer le DataFrame en fichier CSV.

Nous imprimons notre fichier .csv en tant que DataFrame comme on peut le voir dans la sortie. Le script précédent convertit notre fichier XLSX en CSV et crée un fichier 'salary.csv' dans le répertoire courant.

Exemple 2 : Conversion d'un fichier XLSX (avec plusieurs feuilles) en CSV

Dans l'exemple qui suit, nous lisons d'abord les noms des feuilles du fichier Excel. Les noms des feuilles individuelles sont ensuite mis en boucle et enregistrés sous forme de fichiers CSV distincts. Le script enregistre les CSV au même emplacement.

Nous utilisons un exemple de fichier XLSX contenant au moins deux feuilles de calcul ou feuilles de calcul.

Comme on peut le voir, notre fichier XLSX se compose de deux feuilles (feuille1 et feuille2). Maintenant, nous écrivons un code pour convertir ce fichier XLSX en CSV.

Production:

Le script a réussi à convertir le fichier XLSX avec deux feuilles en un seul fichier CSV avec une seule feuille.

Exemple 3 : conversion de plusieurs fichiers XLSX en fichiers CSV distincts

Considérez un scénario dans lequel vous devez convertir plusieurs fichiers Excel de votre répertoire de travail en CSV. Vous pourriez employer cette méthode. Nous commençons par supposer que chaque fichier ne contient qu'une seule feuille. Ensuite, nous étendons notre méthode pour gérer plusieurs fichiers et plusieurs feuilles. Le code Python qui suit utilise le module standard glob. Nous faisons correspondre les chemins de fichiers en utilisant des modèles avec Glob. Il correspond à tous les fichiers avec l'extension .xlsx dans le répertoire de travail. Après cela, nous développons une fonction qui lit les fichiers Excel et les enregistre sous forme de fichiers CSV. Nous appelons cette fonction sur chaque chemin de fichier trouvé.

Ce script précédent convertit tous les fichiers xlsx du répertoire courant en fichiers CSV.

Maintenant, nous convertissons les fichiers XLSX avec plusieurs feuilles de calcul en CSV. C'est probablement la partie la plus difficile. Trois fichiers Excel se trouvent dans notre répertoire de travail. En outre, certains d'entre eux se composent de plus d'une feuille. Nous visons à:

  1. Créer un répertoire pour chaque fichier tableur,
  2. Convertissez les feuilles du fichier Excel en CSV et elles doivent être conservées dans le répertoire nouvellement créé.

Le script convertit le XLSX avec des feuilles simples et multiples en fichiers CSV séparés et les stocke dans de nouveaux répertoires portant le même nom.

Pour récupérer tous les fichiers Excel situés dans le répertoire courant, la fonction glob est utilisée. Après cela, des dossiers sont créés pour chaque fichier XLSX à l'aide de la fonction os.mkdir. Un fichier CSV est ensuite créé pour chaque feuille à l'intérieur du nouveau répertoire en bouclant sur le nom de la feuille.

Méthode 2 : Conversion de XLSX en CSV à l'aide des modules Openpyxl et CSV

Dans cette méthode, nous utiliserons les modules openpyxl et CSV pour convertir les fichiers XLSX en CSV. Pour lire et écrire des fichiers xlsx, xlsm, xltx et xltm 2010, le module Python openpyxl peut être utilisé. Le module CSV comprend des classes qui permettent la lecture et l'écriture de données tabulaires au format CSV.

Pour lire ou charger notre fichier xlsx, nous utilisons la fonction load_workbook() du module openpyxl. Vous pouvez utiliser cette fonction si vous avez besoin d'écrire ou de lire un fichier XLSX/Excel existant en Python. Après l'activation d'excel, nous utilisons la fonction csv.writer() pour créer notre fichier CSV. Ensuite, la boucle for est utilisée pour stocker les données dans les cellules de données du fichier CSV. Nous convertissons notre fichier example.xlsx en myfile.csv comme le montre l'image suivante :

Conclusion

Dans ce didacticiel, nous vous avons donné une brève introduction aux fichiers XLSX et aux fichiers CSV. Nous avons expliqué les principales différences entre les deux formats de fichiers. Nous avons discuté de deux méthodes avec plusieurs exemples pour expliquer comment les fichiers XLSX avec une ou plusieurs feuilles peuvent être convertis en fichiers CSV. Nous avons implémenté un exemple pour convertir simultanément plusieurs fichiers XLSX en fichiers CSV. Il peut être simple ou difficile de convertir les données d'Excel en CSV. Si vous n'avez qu'un seul fichier avec un petit nombre de feuilles, c'est simple. Mais sinon, cela peut être difficile.