Maison > Article > développement back-end > Comment j'ai automatisé mon flux de travail en connectant Python à l'API Google Sheets
Il y a quelques mois, j'ai été confronté à un problème familier. Je travaillais sur un projet dans lequel je devais gérer un vaste ensemble de données qui nécessitait des mises à jour et une collaboration fréquentes. Au début, je gardais tout dans Excel, pensant que ce serait assez simple. Mais plus j’ajoutais de données, plus Excel devenait lent. Je sauvegardais mon travail, essayais de mettre à jour quelques cellules et regardais la réponse prenant quelques minutes. C'était un cauchemar. Chaque fois que j’essayais de collaborer avec un membre de l’équipe, je devais envoyer une nouvelle version du fichier, ce qui devenait rapidement chaotique et sujet aux erreurs. J'ai réalisé que j'avais besoin d'un moyen de mettre à jour et de partager des données en temps réel, ce qu'Excel ne pouvait tout simplement pas gérer efficacement avec de grands ensembles de données.
C'est à ce moment-là que j'ai découvert la puissance de Google Sheets combiné à Python. Google Sheets offre la flexibilité du stockage cloud, permettant à plusieurs utilisateurs d'accéder et de mettre à jour les données simultanément, tandis que Python offre de puissantes capacités de manipulation des données. Grâce à l'API Google Sheets, j'ai pu intégrer de manière transparente Python à Google Sheets, créant ainsi un système qui mettait automatiquement à jour mes données, gérait les modifications en temps réel et éliminait les conflits de versions. Voici un guide sur la façon dont je l'ai configuré, avec des exemples pour vous aider à démarrer vos propres projets.
Utiliser l'API Google Sheets avec Python
Connecter Python à Google Sheets vous permet d'automatiser des tâches, de récupérer des données et de mettre à jour des feuilles sans effort. L'API Google Sheets permet un accès programmatique à Google Sheets, offrant ainsi des possibilités infinies de gestion des données.
Pour commencer, vous devez créer un projet dans Google Cloud Console :
Accédez à Google Cloud Console et créez un nouveau projet.
Activez l'API Google Sheets et l'API Google Drive pour ce projet, car vous aurez besoin des deux pour un accès complet.
Accédez aux informations d'identification et cliquez sur Créer des informations d'identification. Choisissez l'ID client OAuth ou le compte de service en fonction de vos besoins. Pour les scripts automatisés sans interaction de l'utilisateur, un compte de service est recommandé.
Une fois les informations d'identification créées, téléchargez le fichier JSON contenant la clé de votre compte de service. Conservez ce fichier en sécurité, car il donne accès à vos feuilles Google.
Pour travailler avec l'API Google Sheets, installez les bibliothèques suivantes :
pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client spread
google-auth et google-api-python-client sont essentiels pour se connecter aux API de Google.
gspread est une bibliothèque Python qui simplifie les interactions avec Google Sheets.
Avant de pouvoir interagir avec Google Sheets via l'API, vous devez configurer correctement les autorisations pour permettre à votre compte de service ou aux informations d'identification OAuth d'accéder à des feuilles spécifiques.
Partagez votre feuille Google avec l'e-mail du compte de service :
Si vous utilisez un compte de service, vous remarquerez que le fichier JSON contient une adresse e-mail (quelque chose comme your-service-account@your-project.iam.gserviceaccount.com). Pour que le compte de service puisse accéder à votre Google Sheets, vous devez partager la feuille avec cette adresse e-mail.
Ouvrez la feuille Google Sheet que vous souhaitez utiliser.
Cliquez sur Partager dans le coin supérieur droit de la feuille.
Saisissez l'adresse e-mail du compte de service et définissez les autorisations sur Éditeur.
Cliquez sur Envoyer pour enregistrer ces modifications.
2. Assurez-vous que les portées de l'API sont appropriées :
Lors de la configuration de votre projet Google Cloud, assurez-vous d'inclure les étendues d'API nécessaires pour permettre la lecture et l'écriture dans Google Sheets. Dans votre code Python, utilisez ces étendues pour garantir les autorisations appropriées :
portée = [
"https://www.googleapis.com/auth/spreadsheets", # Pour accéder et modifier Google Sheets
"https://www.googleapis.com/auth/drive" # Pour accéder à Google Drive
]
Voici un script Python pour vous authentifier et vous connecter à votre feuille Google :
pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client spread
Une fois connecté, vous pouvez effectuer un large éventail d'opérations sur votre Google Sheet. Voici quelques exemples utiles :
Exemple 1 : Lire les données de Google Sheets
Pour récupérer les données d'une plage spécifique de cellules :
import gspread from google.oauth2.service_account import Credentials # Define the scope and authenticate using the JSON key file scope = ["https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/drive"] credentials = Credentials.from_service_account_file("path/to/your/credentials.json", scopes=scope) # Authorize the client and open the Google Sheet client = gspread.authorize(credentials) sheet = client.open("Your Google Sheet Name").sheet1 # Access the first sheet Replace "path/to/your/credentials.json" with the path to your JSON file, and "Your Google Sheet Name" with the name of your Google Sheet.
data = sheet.get_all_values() print("All data:", data)
Ce code récupère toutes les données de la feuille ou d'une plage spécifique, en les affichant sous forme de liste de listes.
Pour ajouter des données à des cellules spécifiques :
specific_data = sheet.get("A1:C10") # Adjust the range as needed print("Specific data:", specific_data)
Si vous devez effacer les données dans une plage spécifique :
# Update a single cell sheet.update("B2", "New Data") # Update a range of cells sheet.update("A1:C1", [["Header1", "Header2", "Header3"]]) # Append a new row at the end of the sheet sheet.append_row(["Row1 Data", "Row2 Data", "Row3 Data"]) These commands allow you to write to individual cells, multiple cells, or append entire rows of data.
Si vous souhaitez automatiser les mises à jour de vos données, par exemple en ajoutant des statistiques quotidiennes :
sheet.batch_clear(["A2:C100"]) # Adjust the range as needed This code clears all values within the specified range, which is useful for cleaning up data before importing new information.
Ce script ajoute une nouvelle ligne avec la date actuelle et les points de données, ce qui le rend idéal pour suivre les modifications quotidiennes ou automatiser les mises à jour périodiques.
L'utilisation de Python pour interagir avec l'API Google Sheets a transformé la façon dont je gère de grands ensembles de données, ce qui m'a permis de gagner du temps et de réduire les erreurs dues au travail manuel. Que vous ayez besoin d'automatiser les mises à jour de données, de récupérer des informations en temps réel ou simplement de faciliter le travail collaboratif, connecter Python à Google Sheets ouvre un monde de possibilités.
Avec ces exemples, vous devriez être bien équipé pour commencer à automatiser vos propres flux de travail et vous éloigner des méthodes obsolètes qui ralentissent votre productivité.
Suivez-moi sur Linkedin
https://www.linkedin.com/in/kevin-meneses-897a28127/
et Moyen
https://medium.com/@kevinmenesesgonzalez/subscribe
Abonnez-vous à la newsletter Data Pulse
https://www.linkedin.com/newsletters/datapulse-python-finance-7208914833608478720
Rejoignez ma communauté Patreon https://patreon.com/user?u=29567141&utm_medium=unknown&utm_source=join_link&utm_campaign=creatorshare_creator&utm_content=copyLink
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!