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