Je pense que vous avez déjà utilisé Microsoft Excel. Il est très puissant pour travailler avec des feuilles de calcul, des tableaux, des graphiques, etc. Mais quel est le rapport avec Python??
Python est un changeur de jeu en ce qui concerne les fichiers Excel car il peut automatiser des tâches décourageantes que vous pourriez rencontrer lors de certaines tâches liées à Excel. Par exemple, vous devrez peut-être rechercher des informations dans des centaines de feuilles de calcul du budget de l'entreprise. Très intimidant, n'est-ce pas? Dans ce tutoriel, je vais vous montrer comment utiliser facilement Python pour travailler avec des documents Excel..
Oh, ne vous inquiétez pas si Microsoft Excel n'est pas installé sur votre ordinateur. Vous pouvez utiliser d’autres alternatives pour parcourir ce didacticiel, telles que LibreOffice Calc et OpenOffice Calc..
Alors, commençons!
OpenPyXL
est une bibliothèque utilisée pour lire et écrire Excel 2010 xlsx / xlsm / xltx / xltm
des dossiers. Ceci est la bibliothèque que nous allons utiliser dans ce tutoriel pour travailler avec des documents Excel.
La première chose à faire pour utiliser cette bibliothèque est d’installer OpenPyXL
.
Pour installer OpenPyXL
, nous utiliserons pip, qui est (basé sur Wikipedia):
Un système de gestion de paquets utilisé pour installer et gérer les packages logiciels écrits en Python. De nombreux packages peuvent être trouvés dans l'index des packages Python (PyPI).
Vous pouvez suivre les étapes mentionnées dans le Guide de l'utilisateur de Python Packaging pour installer pépin
, mais si vous avez Python 2.7.9
et supérieur, ou Python 3.4
et plus haut, vous avez déjà pépin
!
OpenPyXL
maintenant peut être simplement installé en tapant la commande suivante (dans le Terminal de Mac OS X):
pip installer openpyxl
Après l'installation OpenPyXL
, nous sommes prêts à commencer à travailler avec des documents Excel. La première tâche normale que nous effectuons sur un document Excel consiste à ouvrir ce document. Allez-y et téléchargez le fichier Excel sample.xlsx afin de suivre le didacticiel. Vous pouvez également utiliser le fichier Excel de votre choix..
Avant de pouvoir utiliser OpenPyXL
, nous devons le faire importation
comme suit:
importer openpyxl
La méthode dont nous avons besoin pour ouvrir le document Excel est load_workbook ()
. Si vous vous demandez ce que l'on entend par classeur, il ne s'agit que du document de feuille de calcul Excel. Le script dont nous avons donc besoin pour ouvrir un document Excel est le suivant:
importer openpyxl excel_document = openpyxl.load_workbook ('sample.xlsx')
Voyons maintenant le type
rentré du load_workbook ()
méthode. Cela peut être fait comme suit:
type d'impression (excel_document)
Cela retournera ce qui suit:
Comme on peut le voir, l’objet retourné est Cahier de travail
, de type de données classeur
. le Cahier de travail
objet représente ici le fichier Excel.
Les feuilles dans Excel sont constituées de colonnes (avec des lettres commençant par A, B, C, etc.) et de lignes (commençant par 1, 2, 3, etc.). Afin de vérifier les feuilles que nous avons dans notre document Excel, nous utilisons le get_sheet_names ()
méthode comme suit:
excel_document.get_sheet_names ()
Si nous impression
la commande ci-dessus, nous obtenons ce qui suit:
[u'Sheet1 ']
Ainsi, montrant que nous avons une feuille, appelée Feuille1
.
Si vous avez plusieurs feuilles, vous pouvez accéder à une feuille spécifique par son nom en utilisant cette méthode: get_sheet_by_name ()
.
Maintenant que nous avons appris à ouvrir un fichier Excel et à obtenir la feuille, voyons à quel point il est facile d'accéder à une cellule de cette feuille. Tout ce que vous avez à faire est de récupérer cette feuille, puis de déterminer l'emplacement (coordonnée) de la cellule. Disons que nous voulons accéder à la colonne UNE
rangée 2
dans le document Excel que nous avons, c'est A2
. Ceci peut être implémenté comme suit:
sheet = excel_document.get_sheet_by_name ('Sheet1') imprimer la feuille ['A2']. value
Dans ce cas, vous obtiendrez la valeur suivante: Abder
.
Nous pouvons également utiliser une notation ligne-colonne. Par exemple, si on veut accéder à la cellule à la ligne 5
et colonne 2
, nous tapons le texte suivant:
sheet.cell (row = 5, column = 2) .value
La sortie dans ce cas sera: programmeur
.
Si nous voulons voir le type d'objet représentant la cellule, nous pouvons taper:
type d'impression (feuille ['A2'])
ou:
print sheet.cell (row = 5, column = 2)
Dans ce cas, vous obtiendrez la sortie suivante:
ce qui signifie que l'objet est de type Cellule
.
Et si vous vouliez accéder à une plage de cellules plutôt qu'à une seule? Disons que nous voulons accéder aux cellules de A1
à B3
, qui ressemblent à ceci dans notre document Excel?
Cela peut être fait en utilisant le script suivant:
multiple_cells = sheet ['A1': 'B3'] pour la ligne dans multiple_cells: pour la cellule dans la ligne: print cell.value
Dans ce cas, vous obtiendrez le résultat suivant:
Nom Profession Abder Etudiant Bob Ingénieur
OpenPyXL
vous permet d’accéder à toutes les lignes et colonnes de votre document Excel à l’aide des touches rangées ()
et colonnes ()
méthodes, respectivement.
Pour accéder à toutes les lignes, nous pouvons procéder comme suit:
all_rows = sheet.rows print all_rows [:]
Notez que nous avons utilisé le [:]
notation pour accéder à tous les rangées. En effet, le type d'objet renvoyé par document entier
est un tuple
.
La sortie du script ci-dessus serait la suivante:
((, | ), ( | , | ), ( | , | ), ( | , | ), ( | , | ), ( | , | ), ( | , | )) |
D'autre part, si on veut accéder à tous les des colonnes, nous faisons simplement ce qui suit:
all_columns = sheet.columns print all_columns [:]
Dans ce cas, vous obtiendrez le résultat suivant:
((, | , | , | , | , | , | ), ( | , | , | , | , | , | , | )) |
Vous pouvez bien sûr faire plus avec les documents Excel, comme vous pouvez le constater dans la documentation OpenPyXL..
Dans ce didacticiel, nous avons constaté à quel point il est possible de travailler avec des documents Excel à l’aide de Python. Rappelez-vous le scénario mentionné au début du tutoriel? La peine d'essayer en tant que projet!
Apprenez Python avec notre guide complet de tutoriel sur Python, que vous soyez débutant ou que vous soyez un codeur chevronné cherchant à acquérir de nouvelles compétences..