Traitez d'énormes fichiers Excel avec Python pour améliorer la productivité

Cet article a été publié par Benedikt Droste en novembre 2019, «[Boostez votre efficacité et traitez les fichiers Excel avec Python](https :: //towardsdatascience.com/boost-your-efficiency-and-process-excel-files-with-python-cae650c85d6c) »est une traduction japonaise. Cet article est publié avec l'autorisation de l'auteur original.

Lorsque vous traitez avec des données, vous entrerez inévitablement en contact avec Excel. Même si vous ne l'utilisez pas pour vous-même, vos clients et collègues en auront besoin. Excel est bon pour les calculs tabulaires avec de petits ensembles de données.

Mais je me lamentais toujours quand je voyais une feuille Excel avec des dizaines de milliers de lignes et des centaines de colonnes. Ces feuilles sont lourdes et ont tendance à s'écraser pendant les calculs.

J'ai donc décidé d'utiliser Python pour gérer un fichier Excel aussi volumineux. Il présente également le grand avantage de pouvoir écrire du code réutilisable et de fournir de la documentation. Commençons!

Lire le fichier Excel avec Python

Le fichier que je souhaite traiter cette fois contient environ 1 million de lignes et 16 colonnes.

Python fournit une fonction read_excel () pour lire un fichier Excel en tant qu'objet DataFrame.

import pandas as pd
import numpy as np
df = pd.read_excel(...\\Excel-Tutorial.xlsx')

** La bibliothèque Pandas n'est pas incluse avec Python et doit être installée avec pip, etc. ** **

Comme vous pouvez le voir, les données semblent plutôt bonnes, mais les en-têtes de colonne semblent être erronés. De nombreuses cartes Excel contiennent des en-têtes et d'autres informations. Sautons cette partie et définissons la ligne qui sera l'en-tête.

df = pd.read_excel('…\\Excel-Tutorial.xlsx', header=[1]).reset_index()

L'argument header = [1] spécifie que la deuxième ligne de la feuille Excel doit être utilisée comme en-tête. Toutes les lignes précédentes sont ignorées.

Effectuer des calculs à l'aide de Pandas

Une question courante dans le département marketing est celle des ventes annuelles dans chaque pays.

Ce calcul a été effectué en 86 ms. L'un des grands avantages de travailler avec des fichiers Excel en Python est qu'il peut gérer toutes sortes de calculs beaucoup plus rapidement qu'Excel lui-même. Plus le processus est complexe, plus l'avantage de vitesse est grand.

Vous pouvez également avoir besoin de données de pays regroupées par année et par catégorie comme demande du service commercial. Les résultats du calcul doivent être stockés dans des feuilles de calcul distinctes afin de produire des données de marché nationales.

Enregistrez le résultat sous Excel

L'étape suivante consiste à enregistrer à nouveau le fichier sous forme de fichier Excel et à le fournir à vos services commerciaux et marketing. Créez un objet pd.ExcelWriter et créez une feuille de calcul différente pour chacun.

C'est facile? Jetons un coup d'œil au classeur nouvellement créé.

Comme vous pouvez le voir, le DataFrame est enregistré correctement dans la feuille de calcul spécifiée. J'ai envoyé cette belle réalisation aux deux départements et j'ai reçu un e-mail le lendemain. On m'a demandé le formatage et la visualisation. Étant donné que ces données doivent être converties tous les mois, j'ai également décidé d'exécuter la tâche en Python.

Formatage et visualisation

Vous devrez recréer l'objet écrivain pour le formatage et la visualisation.

Comme vous pouvez le voir, le début du code est le même que dans le premier exemple, la création d'un objet écrivain. Vous pouvez utiliser xlsxwriter pour accéder aux fonctionnalités d'Excel telles que les graphiques et les formats. Pour accéder à ces fonctionnalités, vous devez obtenir un objet de classeur avec workbook = writer.book et un objet de feuille de travail avec worksheet = writer.sheet ['Sales_Sums']. Dans cet exemple, nous apporterons des modifications à la première feuille. Ajoutez un graphique, spécifiez la plage de données (= Sales_Sums! $ B $ 2: $ B $ 7') et ajoutez-la à la cellule A9 de la feuille de calcul.

Formatez vos données de vente de la même manière. Ajoutez une échelle de 3 couleurs à la gamme «B2: B7» pour mettre en évidence visuellement les valeurs basses et élevées. Ajustez la largeur des feuilles de calcul dans les première et deuxième colonnes avec worksheet.set_column (0,1,30). Il met également en forme l'en-tête de la colonne des données de vente et le renomme en «Données de vente 2019». Et enfin enregistrez le fichier.

Les résultats sont bien meilleurs et présentent des avantages significatifs par rapport à Excel. Et le mois prochain, vous pouvez créer exactement la même chose en un seul clic.

Résumé

Python est très bon pour gérer les fichiers Excel. Avec Python, vous pouvez facilement gérer des fichiers volumineux, écrire du code réutilisable et même fournir de la documentation à vos collègues. Nous avons également confirmé que nous pouvions facilement accéder aux fonctionnalités avancées de Python. Vous pouvez également automatiser entièrement le processus de reporting lui-même.

Coopération de traduction

Original Author: Benedikt Droste Thank you for letting us share your knowledge!

Cet article a été publié avec la coopération des personnes suivantes. Merci encore. Sélecteur: yumika tomita Traducteur: @ siho1 Auditeur: @nyorochan Éditeur: @aoharu

Souhaitez-vous écrire un article avec nous?

Nous traduisons des articles de haute qualité de l'étranger vers le japonais avec la coopération de plusieurs excellents ingénieurs et publions les articles. Veuillez nous contacter si vous êtes d'accord avec nos activités ou si vous souhaitez diffuser des articles de bonne qualité à de nombreuses personnes. Veuillez envoyer un message avec le titre "Souhaite participer" dans [Mail](mailto: [email protected]), ou envoyer un message dans Twitter. Par exemple, nous pouvons vous présenter les pièces qui peuvent vous aider après la sélection.

Nous attendons vos opinions et impressions avec impatience.

Comment était cet article? ・ J'aurais aimé faire ça, je veux que tu fasses plus, je pense que ce serait mieux ・ Ce genre d'endroit était bon Nous recherchons des opinions franches telles que. N'hésitez pas à publier vos commentaires dans la section commentaires car nous utiliserons vos commentaires pour améliorer la qualité des prochains articles. Nous apprécions également vos commentaires sur Twitter. Nous attendons votre message avec impatience.

Recommended Posts

Traitez d'énormes fichiers Excel avec Python pour améliorer la productivité
Trier de gros fichiers avec python
Gérer les fichiers Excel CSV avec Python
[Easy Python] Lecture de fichiers Excel avec openpyxl
[Easy Python] Lecture de fichiers Excel avec des pandas
Excel avec Python
Traitement de la communication par Python
Gérez Excel avec python
Traitement d'image avec Python
Utiliser Excel avec Python (1)
Utiliser Excel avec Python (2)
Manipuler des fichiers Excel à partir de python avec xlrd (mémo personnel)
Apprenez le traitement / collouts asynchrones Python en comparant avec Node.js
Traitement d'image avec Python (partie 2)
[Python] Envoyer gmail avec python: envoyez un par un avec plusieurs fichiers image en pièce jointe
Exploitez Excel avec Python open pyxl
100 coups de traitement du langage avec Python 2015
Traitement du signal acoustique avec Python (2)
Traitement du signal acoustique avec Python
Tri des fichiers image avec Python (2)
Tri des fichiers image avec Python (3)
Traitement d'image avec Python (partie 1)
Tri des fichiers image avec Python
Intégrez des fichiers PDF avec Python
Traitement d'image avec Python (3)
Lire des fichiers .txt avec Python
Traitement d'image par python (Pillow)
[Python] Traitement d'image avec scicit-image
Visualisez vos fichiers d'argent de poche avec Dash, le framework Web Python
solveur> Lien> Résoudre le solveur Excel avec python
[Python] Traitement parallèle facile avec Joblib
Extraire récursivement des fichiers zip avec python
100 traitements de langage avec Python
Manipulation des fichiers EAGLE .brd avec Python
[Python] Fichiers wav POST avec requêtes [POST]
Décrypter les fichiers cryptés avec OpenSSL avec Python 3
100 traitements de langage avec Python (chapitre 3)
Traitement d'image avec la binarisation Python 100 knocks # 3
Jouons avec Excel avec Python [Débutant]
Lire des fichiers en parallèle avec Python
100 traitement d'image par Python Knock # 2 Échelle de gris
100 Language Processing Knock Chapitre 1 par Python
Tri des fichiers par convention de dénomination à l'aide de Python
Bases du traitement d'images binarisées par Python
Obtenez des informations sur la propriété en grattant avec python
Traitement d'image par Python 100 knock # 10 filtre médian
[AWS] Utilisation de fichiers ini avec Lambda [Python]
Communication socket et traitement multi-thread par Python
Lire un fichier audio à partir de Python avec interruption
Créez wordcloud à partir de votre tweet avec python3
Enregistrer la vidéo image par image avec Python OpenCV
100 traitement d'image avec Python Knock # 8 Max Pooling
Dessinez Nozomi Sasaki dans Excel avec python
Effectuez périodiquement un traitement arbitraire avec Python Twisted
Créez rapidement un fichier Excel avec Python #python
Convertir des données Excel en JSON avec python
Laissez Heroku faire le traitement en arrière-plan avec Python
100 traitements de langage avec Python (chapitre 2, partie 2)