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.
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
É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