Working with Excel Spreadsheets

Tags :
  • 2022-2023
  • temps 1
  • google-apps-script
Auteurs :
  • Timothée Bermond

Automate the boring stuff with python : Working with Excel spreadsheets (chapter 13)

Introduction

J'ai suivi la formation du livre Automate the boring stuff with python et plus particulièrement le chapitre 13 Working with Excel Spreadsheets car on est forcément amené à utiliser des tableurs dans notre vie professionelle. Savoir automatiser son utilisation afin de gagner du temps et limiter les erreurs me paraît pertinent.

Lire un document Excel

Une méthode pour travailler sur les documents Excel est l'utilisation du module OpenPyXL (version 2.6.2 dans cette formation).

Il est ensuite possible d'importer un document excel avec la fonction openpyxl.load_workbook(). Ce qui permet d'accéder aux différents feuilles (sheet) du tableur ainsi qu'aux cellules de chaque feuille.

Chaque cellule a comme attribut :

Il est donc possible de lire les données, de calculer l'occurence d'un mot, comparer les données entre différents tableurs, vérifier la présence de lignes vides ou de données invalides...

Petit résumé

Modifier un document Excel

Il est également possible de modifier un document Excel :

Il ne faut pas oublier d'utiliser la fonction save() afin de sauvegarder les modifications. Il est aussi préférable d'enregistrer les modifications dans une copie du tableur au cas ou il y aurait une erreur.(données corrompues...)

Idées de programmes

Autres fonctionnalités

Modifier le style de police Pour cela on utilise la fontion Font() du module openpyxl.styles. Il est possible:

Écrire des formules Il est possible d'écrire des formules exactement comme dans un Excel.

Modifier la taille des lignes et des colonnes Il est possible de changer la hauteur des lignes row_dimension[].height et la largeur des colonnes column_dimension[].width.

Fusionner ou séparer des cellules En utilisant les fontions merge_cells() ou unmerge_cells().

Figer des volets Afin d'avoir toujours accès à certaines lignes ou colonnes, il est possible d'utiliser l'attribut sheet.freeze.panes = ' '. Toutes les lignes au dessus de celle indiquée ainsi que toutes les colonnes à gauche seront figer mais pas celles indiquées.

Créer des diagrammes Pour créer un diagramme, il faut suivre les étapes suivantes:

Google Apps Script

Afin de compléter ma formation et de pouvoir également travailler sur les google sheets j'ai suivi le guide Automatiser des tâches avec Apps Script.

Présentation

Comme pour openpyxl, Apps Script permet de créer, lire et modifier des tableurs Google Sheets. La principale différence est le langage utilisé : Apps Script utilise du code JavaScript.

Les fonctionnalités essentielles :

On peut ensuite créer des fonctions qui permettent de transformer les valeurs récupérés ou d'en écrire de nouvelles. Différentes fonctionnalités :