Je voulais utiliser la feuille de calcul google à partir de python, j'ai donc résumé les étapes pour authentifier google et l'ajouter à la cellule.
Créez un compte de service google apis en utilisant l'URL ci-dessous. Authentifiez-vous avec le compte de service et obtenez les données de Google Spreadsheet
Installez les modules ʻoauth2client et
gspread` pour l'authentification google api et la manipulation des feuilles de calcul.
$ pip3 install oauth2client
$ pip3 install gspread
Créez une classe de pièce commune afin qu'elle puisse être utilisée à partir de plusieurs classes.
google_service_account.py
import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
credentials = ServiceAccountCredentials.from_json_keyfile_name('path/to/google-service-account.json'), scope)
client = gspread.authorize(credentials)
google_spreadsheet_service.py
from datetime import date
from google_service_account import client
class GoogleSpreadsheetService:
@classmethod
def edit_cells(self):
spreadsheet = client.open('sample') #Spécifiez le nom de la feuille de calcul avec laquelle vous souhaitez travailler
worksheet = spreadsheet.worksheet('Annual bonuses') #Spécifiez la feuille
data = ['{0:%Y-%m-%d}'.format(date.today()), Hello, World] #Données que vous souhaitez insérer
worksheet.append_row(data) #Insérer des données dans la dernière ligne
Tout ce que vous avez à faire est d'appeler GoogleSpreadsheetService.edit_cells ()
lorsque vous souhaitez l'insérer.
Je l'ai formaté selon le format Date afin qu'il soit traité comme une date, mais les données de date insérées ont été traitées comme une simple chaîne de caractères.
before
data = ['{0:%Y-%m-%d}'.format(date.today()), Hello, World]
worksheet.append_row(data) #Il sera traité comme une simple chaîne de caractères
Cela a été évité en spécifiant value_input_option = 'USER_ENTERED'
.
after
data = ['{0:%Y-%m-%d}'.format(date.today()), Hello, World]
worksheet.append_row(data, value_input_option='USER_ENTERED')
Recommended Posts