Google Sheets et Python
Temps de lecture: 3 minutes
Ce post s'inspire du rappel de Patrick McKenzie selon lequel il n'est parfois pas nécessaire d'avoir une base de données :
Ainsi, si vous construisez une application CRUD rapide pour une utilisation interne par exemple, utiliser Google Docs en tant que back-end (via JSON) se révèle *étonnamment* efficace.
— Patrick McKenzie (@patio11) 5 juillet 2014
Dans ce tutoriel, nous allons utiliser l'excellent gspread package Python d'Anton Burnashev pour lire, écrire et supprimer des données d'une feuille de calcul Google avec seulement quelques lignes de code.
API Google Drive et comptes de service
Au risque d'enfoncer des portes ouvertes, vous aurez besoin d'une feuille de calcul si vous voulez vous entrainer en suivant ce post. Si vous n'avez pas déjà une feuille de calcul remplie de données, je vous suggère de faire une copie de celle-ci avec les coordonnées de tous les législateurs américains ! (Note : Ian Webster utilise ces données en conjonction avec Twilio pour aider les citoyens à appeler le congrès).
Pour accéder par programmation à votre feuille de calcul, vous devez créer un compte de service ainsi que des informations d'identification OAuth2 à partir de la console API Google. Si le développement OAuth2 vous a déjà traumatisé par le passé, ne vous inquiétez pas ; les comptes de service sont beaucoup plus faciles à utiliser.
Suivez les étapes et le GIF ci-dessous. Vous allez entrer et sortir de la console en 60 secondes (tout comme Nicolas Cage dans votre film favori avec cet acteur).
- Accédez à la Google APIs Console.
- Créez un nouveau projet.
- Cliquez sur Enable API (Activer l'API). Recherchez et activez l'API Google Drive.
- Créez des informations d'identification pour qu'un serveur Web puisse accéder aux données d'application.
- Nommez le compte de service et attribuez-lui un rôle d'éditeur dans le projet.
- Téléchargez le fichier JSON.
- Copiez le fichier JSON dans votre répertoire de code et renommez-le client_secret.json
Bien que facile à oublier, il reste une dernière étape nécessaire pour autoriser votre application !
Recherchez client_email
dans client_secret.json. De retour sur votre feuille de calcul, cliquez sur le bouton Partager en haut à droite, puis collez l'adresse e-mail du client dans le champ Personnes pour lui accorder des droits de modification. Cliquez sur Envoyer.
Si vous ignorez cette étape, vous obtiendrez une erreur gspread.exceptions.SpreadsheetNotFound
lorsque vous essayerez d'accéder à la feuille de calcul à partir de Python.
Nous avons terminé avec la partie ennuyeuse ! Maintenant, voyons le code.
Lecture de données à partir d'une feuille de calcul avec Python
Ayant déjà les informations d'identification (vous les avez copiées dans votre répertoire de code, n'est-ce pas ?), l'accès à une feuille de calcul Google dans Python ne nécessite que deux packages :
- oauth2client : pour autoriser avec l'API Google Drive à l'aide d'OAuth 2.0
- gspread : pour interagir avec Google Sheets
Installez ces packages avec :
Collez ensuite ce code dans un nouveau fichier appelé spreadsheet.py :
Exécutez spreadsheet.py de Python et émerveillez-vous devant les magnifiques données bien formatées.
Insertion, mise à jour et suppression à partir d'une feuille de calcul avec Python
Nous n'avons fait qu'effleurer la surface des fonctionnalités complètes et bien documentées des gspreads.
Par exemple, nous avons extrait les données en une liste de hachages, mais vous pouvez obtenir une liste de listes si vous préférez :
Ou simplement extraire les données d'une seule ligne, colonne ou cellule :
Vous pouvez écrire dans la feuille de calcul en modifiant une cellule spécifique :
Ou encore, insérer une ligne dans la feuille de calcul :
Vous pouvez également supprimer une ligne de la feuille de calcul :
Et connaître le nombre total de lignes :
Consultez la référence API gspread pour obtenir des détails complets sur ces fonctions ainsi que quelques dizaines d'autres.
L'utilisation de Google Sheets avec Python ouvre des possibilités telles que la création d'une application Flask avec une feuille de calcul comme couche de persistance, ou l'importation de données d'une feuille de calcul Google dans les ordinateurs portables Jupyter et l'analyse dans Pandas. Si vous voulez commencer à jouer avec Python et Twilio, consultez nos guides de démarrages rapides Python.
Si vous construisez quelque chose de sympa, n'hésitez pas à me le dire. Vous pouvez me contacter via gb@twilio.com ou @greggyb. Et si ce blog vous a été utile, n'hésitez pas à le partager avec quelqu'un qui pourrait être intéressé.
Je remercie chaleureusement Devin et Sam pour les révisions, Google pour Google Sheets, et surtout Anton pour gspread.
Articles associés
Ressources connexes
Twilio Docs
Des API aux SDK en passant par les exemples d'applications
Documentation de référence sur l'API, SDK, bibliothèques d'assistance, démarrages rapides et didacticiels pour votre langage et votre plateforme.
Centre de ressources
Les derniers ebooks, rapports de l'industrie et webinaires
Apprenez des experts en engagement client pour améliorer votre propre communication.
Ahoy
Le hub de la communauté des développeurs de Twilio
Meilleures pratiques, exemples de code et inspiration pour créer des expériences de communication et d'engagement numérique.