Manipuler les feuilles de calcul Excel à l'aide de Python

Manipuler les feuilles de calcul Excel à l'aide de Python

Microsoft Excel est un logiciel de feuille de calcul utilisé pour stocker et gérer les données tabulaires. De plus, avec Excel, les calculs peuvent être effectués en appliquant des formules aux données et les visualisations de données peuvent être produites.De nombreuses tâches effectuées dans des feuilles de calcul, telles que les opérations mathématiques, peuvent être automatisées via la programmation, et de nombreux langages de programmation ont des modules pour manipuler les feuilles de calcul Excel. Dans ce tutoriel, nous vous montrerons comment utiliser le module OpenPyxl de Python pour lire et modifier des feuilles de calcul Excel.

Installation d'OpenPyxl

Avant de pouvoir installer OpenPyxl, vous devez installer PIP. PIP est utilisé pour installer des packages Python. Exécutez la commande suivante dans l'invite de commande pour voir si PIP est installé.

C: \ Users \ Windows> Aide PIP

Si le contenu d'aide de PIP est retourné, PIP est installé; Sinon, accédez au lien suivant et téléchargez le get-pip.fichier py:

https: // bootstrap.pypa.IO / Get-Pip.py

Maintenant, exécutez la commande suivante pour installer PIP:

C: \ Users \ Windows> Python Get-Pip.py

Après l'installation de PIP, la commande suivante peut être utilisée pour installer OpenPyxl.

C: \ Users \ Windows> pip install openpyxl

Création d'un document Excel

Dans cette section, nous utiliserons le module OpenPyxl pour créer un document Excel. Tout d'abord, ouvrez l'invite de commande en tapant «CMD» dans la barre de recherche; Ensuite, entrez

C: \ Users \ Windows> Python

Pour créer un classeur Excel, nous importerons le module OpenPyxl, puis utiliserons la méthode «Workbook ()» pour créer un classeur.

>>> # Importation de module OpenPyxl
>>> Importer OpenPyxl
>>> # Initialisation d'un classeur
>>> work_book = openpyxl.Classeur ()
>>> # SAVERING WORKET comme 'Exemple.xlsx '
>>> work_book.Enregistrer ('Exemple.xlsx ')

Les commandes ci-dessus créent un document Excel appelé exemple.xlsx. Ensuite, nous manipulerons ce document Excel.

Manipuler les feuilles dans un document Excel

Nous avons créé un document Excel appelé Exemple.xlsx. Maintenant, nous allons manipuler les feuilles de ce document à l'aide de Python. Le module OpenPyxl a une méthode 'Create_sheet ()' qui peut être utilisée pour créer une nouvelle feuille. Cette méthode prend deux arguments: index et titre. L'index définit le placement de la feuille à l'aide de tout entier non négatif (y compris 0), et le titre est le titre de la feuille. Une liste de toutes les feuilles de l'objet Work_Book peut être affichée en appelant la liste des noms de feuille.

>>> # Importation openPyxl
>>> Importer OpenPyxl
>>> # Chargement du document Excel existant dans l'objet work_book
>>> work_book = openpyxl.load_workbook ('Exemple.xlsx ')
>>> # Création d'une nouvelle feuille à 0e index
>>> work_book.create_sheet (index = 0, title = 'première feuille')

>>> # Obtenir toutes les draps
>>> work_book.nom de feuilles
[«Première feuille», «feuille»]
>>> # Enregistrer le document Excel
>>> work_book.Enregistrer ('Exemple.xlsx ')

Dans le code ci-dessus, nous avons créé une feuille nommée First Sheet et l'avons placée à 0ème index. La feuille précédemment située au 0ème index a été déplacée vers le 1er index, comme indiqué dans la sortie. Maintenant, nous allons changer le nom de la feuille d'origine de la feuille à la deuxième feuille.

L'attribut de titre contient le nom de la feuille. Pour renommer une feuille, nous devons d'abord naviguer vers cette feuille comme suit.

>>> # Obtenir une feuille active du document Excel
>>> feuille = work_book.actif
>>> # Nom de la feuille d'impression
>>> imprimer (feuille.titre)
Première feuille >>> # Navigation vers la deuxième feuille (à l'index 1)
>>> work_book.actif = 1
>>> # Obtenir une feuille active
>>> feuille = work_book.actif
>>> # Nom de la feuille d'impression
>>> imprimer (feuille.titre)
Feuille >>> # Titre de la feuille de changement
>>> feuille.title = 'deuxième feuille'
>>> # Titre de la feuille d'impression
>>> imprimer (feuille.titre)
Deuxième feuille

De même, nous pouvons supprimer une feuille du document Excel. Le module OpenPyxl propose la méthode retirer () pour supprimer une feuille. Cette méthode prend le nom de la feuille à supprimer comme argument, puis supprime cette feuille. Nous pouvons supprimer la deuxième feuille comme suit:

>>> # Suppression d'une feuille par nom
>>> work_book.supprimer (work_book ['deuxième feuille'])
>>> # Obtenir toutes les draps
>>> work_book.nom de feuilles
[«Première feuille»]
>>> # Enregistrer le document Excel
>>> work_book.Enregistrer ('Exemple.xlsx ')

Ajout de données aux cellules

Jusqu'à présent, nous vous avons montré comment créer ou supprimer des feuilles dans un document Excel. Maintenant, nous allons ajouter des données aux cellules de différentes feuilles. Dans cet exemple, nous avons une seule feuille nommée First Sheet dans notre document, et nous voulons créer deux autres feuilles.

>>> # Importation openPyxl
>>> Importer OpenPyxl
>>> # Chargeur de chargement
>>> work_book = openpyxl.load_workbook ('Exemple.xlsx ')
>>> # Création d'une nouvelle feuille au 1er index
>>> work_book.create_sheet (index = 1, title = 'deuxième feuille')

>>> # Création d'une nouvelle feuille au 2ème index
>>> work_book.create_sheet (index = 2, title = 'troisième feuille')

>>> # Obtenir toutes les draps
>>> work_book.nom de feuilles
[«Première feuille», «deuxième feuille», «troisième feuille»]

Maintenant, nous avons trois feuilles, et nous ajouterons des données aux cellules de ces feuilles.

>>> # Obtenir la première feuille
>>> sheet_1 = work_book ['première feuille']
>>> # Ajout de données à la cellule «A1» de la première feuille
>>> sheet_1 ['a1'] = 'name'
>>> # Obtenir la deuxième feuille
>>> sheet_2 = work_book ['deuxième feuille']
>>> # Ajout de données à la cellule «A1» de la deuxième feuille
>>> sheet_2 ['a1'] = 'id'
>>> # Obtenir la troisième feuille
>>> sheet_3 = work_book ['troisième feuille']
>>> # Ajout de données à la cellule «A1» de la troisième feuille
>>> sheet_3 ['a1'] = 'grades'
>>> # SAVERIN
>>> work_book.Enregistrer ('Exemple.xlsx ')

Lire des feuilles excel

Le module OpenPyxl utilise l'attribut de valeur d'une cellule pour stocker les données de cette cellule. Nous pouvons lire les données dans une cellule en appelant l'attribut de valeur de la cellule. Maintenant, nous avons trois feuilles, et chaque feuille contient des données. Nous pouvons lire les données en utilisant des fonctions suivantes dans OpenPyxl:

>>> # Importation openPyxl
>>> Importer OpenPyxl
>>> # Chargeur de chargement
>>> work_book = openpyxl.load_workbook ('Exemple.xlsx ')
>>> # Obtenir la première feuille
>>> sheet_1 = work_book ['première feuille']
>>> # Obtenir la deuxième feuille
>>> sheet_2 = work_book ['deuxième feuille']
>>> # Obtenir la troisième feuille
>>> sheet_3 = work_book ['troisième feuille']
>>> # Données d'impression de la cellule «A1» de la première feuille
>>> print (sheet_1 ['a1'].valeur)
Nom
>>> # Données d'impression de la cellule «A1» de la deuxième feuille
>>> print (sheet_2 ['a1'].valeur)
IDENTIFIANT
>>> # Données d'impression de la cellule «A1» de la troisième feuille
>>> print (sheet_3 ['a1'].valeur)
Notes

Changer les polices et les couleurs

Ensuite, nous allons vous montrer comment changer la police d'une cellule en utilisant la fonction FONT (). Tout d'abord, importez l'OpenPyxl.Objet Styles. La méthode Font () prend une liste d'arguments, notamment:

  • nom (chaîne): le nom de la police
  • taille (int ou flotteur): la taille de la police
  • souligner (chaîne): le type de soulignement
  • couleur (chaîne): la couleur hexadécimale du texte
  • italique (bool): si la police est en italique
  • gras (bool): si la police est en gras

Pour appliquer des styles, nous devons d'abord créer un objet en passant tous les paramètres à la méthode FONT (). Ensuite, nous sélectionnons la feuille et à l'intérieur de la feuille, nous sélectionnons la cellule à laquelle nous voulons appliquer le style. Ensuite, nous appliquons du style à la cellule sélectionnée.

>>> # Importation openPyxl
>>> Importer OpenPyxl
>>> # Méthode d'importation de la police d'OpenPyxl.modes
>>> d'OpenPyxl.Police d'importation des styles
>>> # Chargeur de chargement
>>> work_book = openpyxl.load_workbook ('Exemple.xlsx ')
>>> # Création d'un objet de style
>>> style = font (name = 'consolas', size = 13, bold = true,
… Italique = faux)
>>> # Sélection de feuille dans le classeur
>>> sheet_1 = work_book ['première feuille']
>>> # Sélection de la cellule que nous voulons ajouter des styles
>>> a1 = sheet_1 ['a1']
>>> # Appliquer des styles à la cellule
>>> A1.Font = style
>>> # enregistreur
>>> work_book.Enregistrer ('Exemple.xlsx ')

Appliquer des frontières sur les cellules

Nous pouvons appliquer des frontières sur les cellules dans une feuille Excel en utilisant les méthodes de bordure () et latérales () de l'OpenPyxl.modes.module des bordures. Nous pouvons passer différentes fonctions comme paramètres de la méthode Border (). Voici quelques-unes des fonctions qui sont passées comme paramètres à la méthode de la frontière () pour définir les dimensions de la bordure.

  • gauche: appliquer une bordure sur le côté gauche d'une cellule
  • droite: appliquer une bordure sur le côté droit d'une cellule
  • haut: appliquer une bordure au sommet d'une cellule
  • bas: appliquer une bordure au fond d'une cellule

Ces fonctions prennent des attributs de style comme paramètres. L'attribut de style définit le style de la bordure (e.g., solide, pointillé). Les paramètres de style peuvent avoir l'une des valeurs suivantes.

  • double: Une bordure à double ligne
  • en pointillé: une bordure en pointillés
  • mince: Une bordure fine
  • moyen: une bordure moyenne
  • mediumdashdot: une bordure pointillée et pointillée de poids moyen
  • épais: une bordure épaisse
  • dashdot: une bordure pointillée et pointillée
  • cheveux: une bordure très mince
  • pointé: une bordure en pointillé

Maintenant, nous appliquerons différents types de frontières à différentes cellules de nos feuilles de calcul. Tout d'abord, nous sélectionnons les cellules, puis, nous définissons les styles de bordure et appliquons ces styles à différentes cellules.

>>> # Importation openPyxl
>>> Importer OpenPyxl
>>> # Importation de frontières et de classes latérales
>>> d'OpenPyxl.modes.Borders Import Border, côté
>>> # Chargeur de chargement
>>> work_book = openpyxl.load_workbook ('Exemple.xlsx ')
>>> # Sélection de feuille
>>> sheet_1 = work_book ['première feuille']
>>> # Sélection de différentes cellules à partir de la feuille
>>> cell_1 = sheet_1 ['a1']
>>> cell_2 = sheet_1 ['b2']
>>> cell_3 = sheet_1 ['c3']
>>> # Définition de différents styles de bordure
>>> style_1 = bordure (en bas = côté (style = 'pointillé')))
>>> style_2 = bordure (droite = côté (style = 'mince'))
>>> style_3 = bordure (top = côté (style = 'dashdot')))
>>> # Application des styles de bordure aux cellules
>>> Cell_1.border = style_1
>>> cell_2.border = style_2
>>> Cell_3.border = style_3
>>> # enregistreur
>>> work_book.Enregistrer ('Exemple.xlsx ')

Réglage des dimensions de ligne et de colonne

La hauteur de la ligne et la largeur de la colonne d'un document Excel peuvent également être ajustées à l'aide de Python. Le module OpenPyxl a deux méthodes intégrées qui peuvent être utilisées pour effectuer ces actions. Tout d'abord, nous sélectionnons la feuille dont nous voulons modifier la largeur de la colonne ou la hauteur de la ligne. Ensuite, nous appliquons une méthode à la ligne ou une colonne spécifique.

>>> # Importation openPyxl
>>> Importer OpenPyxl
>>> # Chargeur de chargement
>>> work_book = openpyxl.load_workbook ('Exemple.xlsx ')
>>> # Sélection de feuille
>>> sheet_1 = work_book ['première feuille']
>>> # Modification de la hauteur de la première rangée
>>> sheet_1.row_dimensions [1].hauteur = 50
>>> # enregistreur
>>> work_book.Enregistrer ('Exemple.xlsx ')

De même, nous pouvons modifier la largeur d'une colonne en utilisant le code suivant

>>> # Sélection de feuille dans Excel Workbook
>>> sheet_2 = work_book ['deuxième feuille']
>>> # Modification de la largeur d'une colonne
>>> sheet_2.Column_dimensions ['A'].largeur = 50
>>> # enregistreur
>>> work_book.Enregistrer ('Exemple.xlsx ')

Le code ci-dessus modifiera la hauteur de la première ligne à 50 pts et la largeur de la colonne A à 50 pts.

Fusion et démêler les cellules

Lorsque vous travaillez avec des feuilles de calcul Excel, nous devons souvent fusionner et démêler les cellules. Pour fusionner les cellules de Python, une fonction simple basée sur OpenPyxl peut être utilisée. Le module OpenPyxl propose la méthode Merge_cells (), qui peut être utilisée pour fusionner les cellules dans Excel. La nouvelle cellule prendra le nom de la cellule supérieure gauche. Par exemple, si nous voulons fusionner les cellules de la cellule A1 à la cellule B2, la cellule nouvellement formée sera appelée A1. Pour fusionner les cellules à l'aide d'OpenPyxl, nous sélectionnons d'abord la feuille, puis nous appliquons la méthode Merge_cells () à la feuille.

>>> # Importation de module OpenPyxl
>>> Importer OpenPyxl
>>> # Chargeur de chargement
>>> work_book = openpyxl.load_workbook ('Exemple.xlsx ')
>>> # Sélection de la première feuille dans le classeur Excel
>>> sheet_1 = work_book ['première feuille']
>>> # Fusion de cellules de A1 à B2 dans la feuille 1
>>> sheet_1.Merge_cells ('A1: B2')
>>> # enregistreur
>>> work_book.Enregistrer ('Exemple.xlsx ')

De même, la méthode unmerge_cells () peut être utilisée pour débarrasser des cellules dans une feuille de calcul Excel. Le code suivant peut être utilisé pour démêler les cellules:

>>> # Sélection de feuille dans le classeur
>>> sheet_1 = work_book ['première feuille']
>>> # Débardeur de cellules de A1 à B2
>>> sheet_1.UnMerge_cells ('A1: B2')
>>> # enregistreur
>>> work_book.Enregistrer ('Exemple.xlsx ')

Conclusion

Les feuilles de calcul Excel sont couramment utilisées pour la manipulation des données. Cependant, de telles tâches peuvent être monotones. Par conséquent, dans de tels cas, la programmation peut être utilisée pour automatiser la manipulation de la feuille de calcul.

Dans cet article, nous avons discuté de certaines des fonctions utiles du module OpenPyxl de Python. Nous vous avons montré comment créer, lire, supprimer et modifier des feuilles de calcul Excel, comment changer le style, appliquer la police, les frontières et les dimensions des cellules, et comment fusionner et démêler les cellules. En appliquant ces fonctions, vous pouvez automatiser de nombreuses tâches de manipulation de feuille de calcul à l'aide de Python.