Comparaison simple des bibliothèques Python qui exploitent Excel

J'étais confus car il y avait plusieurs façons de jouer avec Excel en Python, alors je les ai résumées dans un tableau.

Tableau de comparaison

Le tableau étant volumineux, j'ai publié Excel sur un autre serveur sans l'écrire dans Qiita. Seules les opérations susceptibles d'être souvent utilisées sont décrites. http://mirutsurumi.html.xdomain.jp/Excel_pylib.html (Prévu pour être mis à jour le cas échéant.)

Les bibliothèques suivantes sont résumées.

utilisation
openpyxl Traitez Excel comme Excel et utilisez-le pour les opérations qui se soucient des formats de cellule. Cliquez ici pour de nombreuses explications dans les livres.
pandas Utilisez-le lorsque vous n'êtes pas intéressé par les formats Excel et que vous souhaitez vous spécialiser uniquement dans l'analyse de données. openpyxl comme variable moteur,xlsxwriter peut également être utilisé.
xlwings (édition) Ce que vous pouvez faire est similaire à openpyxl, mais la sensation de fonctionnement est différente. Lorsque vous l'exécutez, Excel lui-même démarre, et si vous utilisez le shell interactif, vous pouvez agir tout en regardant le contenu changer. Il peut également charger officiellement les pandas df. Étant donné que le fonctionnement VBA est également possible, la plage de cellules peut être spécifiée comme plage.("A1:C3")Il est également facile de comprendre que vous pouvez spécifier comme.
xlrd, xlwt Près de openpyxl, une image comme sa version précédente. Puisqu'il est également inclus dans les pandas, il semble peu probable qu'il soit utilisé seul. Vous devez les installer à l'avance pour utiliser Excel avec des pandas.
xlsxwriter Proche de openpyxl, une image comme sa version précédente. Puisqu'il est également inclus dans les pandas, il semble peu probable qu'il soit utilisé seul. Xlsxwriter doit être installé à l'avance lors de l'utilisation d'Excel avec des pandas.

Le tableau sert de référence simple, donc une explication détaillée est omise.

Xlwings et openpyxl sont également comparés dans l'article ci-dessous. https://qiita.com/m5knt/items/ab56f1d0a783f3422ee3

■ Procédure de base 【openpyxl, xlrd/xlwt, xlsxwriter】 ① Créez un objet wb avec le nom de la bibliothèque. ② ws = wb. Créer un objet ws avec la fonction d'ajout de feuille (xlsxwriter est à ici) ③ De la même manière, créez de ws à objet cellule, puis utilisez votre fonction préférée. ④ Enregistrer (un nouvel Excel apparaît à ce stade)

【pandas】 (1) Définir les données (lire Excel existant avec pd.read_excel) * Vous pouvez également écrire directement avec pd.DataFrame. (2) Manipulation et filtrage de la valeur de cellule avec df.loc etc. (Pivot_table peut également être utilisé bien que non montré dans le tableau) ③ Créez un nouvel Excel avec df.to_excel

supplément pandas

Étant donné que la relation entre read_excel, to_excel et ExcelWriter est compliquée, je la compléterai.

■read_excel Lisez les données df de la feuille spécifiée Excel existante (ou la feuille la plus à gauche si elle n'est pas spécifiée). Il lit simplement df (type DataFrame) et ne définit pas le type de classeur Excel.

■to_excel Écrivez df dans le fichier Excel spécifié.

■ExcelWriter Définissez le fichier Excel à écrire avec to_excel. (Semblable à l'image qui définit wb dans openpyxl.) Vous pouvez écrire avec to_excel (nom de fichier) sans définir ExcelWriter, mais en combinant avec avec instruction, vous pouvez écrire des données sur plusieurs feuilles à la fois. De plus, la description de to_excel devient redondante à moins que le nom du fichier Excel ne soit rendu variable (dans certains cas, pour chaque chemin) en le combinant avec l'instruction with. Après tout, il existe pour simplifier la description, pas un incontournable.

Recommended Posts

Comparaison simple des bibliothèques Python qui exploitent Excel
Utiliser Excel avec Python (1)
Utiliser Excel avec Python (2)
Python qui fusionne beaucoup d'excellence en un seul Excel
Une comparaison rapide des bibliothèques de test Python et node.js
Exploitez Excel avec Python open pyxl
Comparaison de 4 types de frameworks Web Python
Mesure FPS simple de python
Comparaison de la vitesse de la perspective XML Python
Comparaison des modules de conversion japonais en Python3
comparaison de chaînes python / utiliser 'list' et 'in' au lieu de '==' et 'ou'
Essayez d'utiliser Excel en utilisant Python (Xlwings)
Comparaison des frameworks sans serveur Python-Zappa vs Chalice
Comparaison de la vitesse de transposition de la matrice par Python
[Python] 3 types de bibliothèques qui améliorent un peu la sortie des journaux [logzero, loguru, pyrogrus]
Convertir le «nombre» de date Excel en date / heure Python
Comparaison des performances du détecteur de visage avec Python + OpenCV
[Python3] Comparaison de vitesse, etc. sur la privation de numpy.ndarray
Automatiser des tâches simples avec Python Table des matières
Conversion par lots de fichiers Excel en JSON [Python]
Comparaison d'écriture R et Python (méthode de division mutuelle euclidienne)
Une doublure qui produit 10000 chiffres de rapport de circonférence avec Python
Comparaison de Python et Ruby (Environment / Grammar / Literal Edition)
Résumé des opérations Excel utilisant OpenPyXL en Python
Premier Python 3 ~ Première comparaison ~
Les bases de Python ①
Bases de python ①
Copie de python
Excel avec Python
Introduction de Python
Exemple d'implémentation d'un système de traitement LISP simple (version Python)
[Python] Un programme qui compte le nombre de vallées
Faire fonctionner mongoDB à partir de python dans l'environnement ubuntu ① Introduction de mongoDB
[Python] [Word] [python-docx] Analyse simple des données de diff en utilisant python
Liste des bibliothèques Python pour les data scientists et les data ingénieurs
Comparaison de l'implémentation de plusieurs moyennes mobiles exponentielles (DEMA, TEMA) en Python
Une doublure qui produit 1000000 chiffres de rapport de circonférence avec Python
Calculer le coefficient de régression d'une analyse de régression simple avec python
Super simple: une collection de shells qui produisent des dates
Tableau de comparaison des processus fréquemment utilisés de Python et Clojure
L'attitude que les programmeurs devraient avoir (Le Zen de Python)
[Python] Un programme qui compare les positions des kangourous.
Exploitons GPIO de Raspeye avec Python CGI
Comparaison de CoffeeScript avec la grammaire JavaScript, Python et Ruby
Comment démarrer un serveur WEB simple qui peut exécuter des cgi de php et python
[Python] Création d'un outil GUI qui traite automatiquement le CSV des données d'élévation de température dans Excel