Wenn Sie Google Drive-Tabellenkalkulationsdateien mit Python lesen möchten, aber nicht wissen, was das Google-Beispiel tut, möchten Sie es einfach lesen.
Frühere Geschichte https://developers.google.com/sheets/api/quickstart/python Bitte geben Sie zunächst Ihr Bestes bis SCHRITT 2.
Dann ist es der Programmteil von STEP3
# coding:utf-8
import httplib2
import apiclient
import oauth2client
#Aufbau
# -----------------------------------------------------------------------------
SCOPES = 'https://www.googleapis.com/auth/spreadsheets.readonly' #Bitte um Leseerlaubnis
APPLICATION_NAME = 'read sample' #Ich kann kein Japanisch, daher verwende ich nur englische Zeichen
SHEET_ID = 'ID der Tabellenkalkulationsdatei. Kann beim Bearbeiten der Datei von der URL abgerufen werden'
SHEET_TAB = 'Blattname in der Tabelle'
RANGE = 'A1:Z1000' #Bereich zum Lesen
# -----------------------------------------------------------------------------
#Authentifizierungsdatei lesen
store = oauth2client.file.Storage("./credential.json") #Gibt es eine Authentifizierungsdatei?
credentials = store.get()
#Bitten Sie um Erlaubnis, wenn Sie nicht authentifiziert sind(Browser-Authentifizierung)
if not credentials or credentials.invalid:
flow = oauth2client.client.flow_from_clientsecrets('client_secret.json', SCOPES)
flow.user_agent = APPLICATION_NAME
#Erstauthentifizierung
import argparse
args = '--auth_host_name localhost --logging_level INFO --noauth_local_webserver'
flags = argparse.ArgumentParser(parents=[oauth2client.tools.argparser]).parse_args(args.split())
credentials = oauth2client.tools.run_flow(flow, store, flags) #Die Authentifizierungsdatei wird erstellt, wenn die Browserauthentifizierung dies zulässt
#Stellen Sie eine Verbindung mithilfe der Autorisierungsdatei her
http = credentials.authorize(httplib2.Http())
#Blatt laden
service = apiclient.discovery.build('sheets', 'v4', http=http, discoveryServiceUrl='https://sheets.googleapis.com/$discovery/rest?version=v4')
values = service.spreadsheets().values().get(spreadsheetId=SHEET_ID, range=SHEET_TAB+'!'+RANGE).execute().get('values', [])
#Sie können verschiedene Dinge mit Werten tun
print(values)
Bitte fügen Sie Ihre eigene Fehlerbehandlung hinzu _ (: 3 ”∠) _
Wenn Sie alle Blätter in einer Tabelle lesen möchten, ist es praktisch, SHEET_TAB aus der Liste der Blätter mit Metadaten anstelle von festen Werten abzurufen.
#Blatt laden
#Holen Sie sich den Service zusammen
service = apiclient.discovery.build('sheets', 'v4', http=http, discoveryServiceUrl='https://sheets.googleapis.com/$discovery/rest?version=v4')
#Rufen Sie den Namen des Blattes ab, bevor Sie Werte lesen
sheet_meta = service.spreadsheets().get(spreadsheetId=SHEET_ID).execute()
for sheet in sheet_meta.get('sheets', ''):
#Blattnamen abrufen
SHEET_TAB = sheet.get("properties", {}).get("title", 0)
#Auch hier(BLATT kurz zuvor_TAB überschreiben)
values = service.spreadsheets().values().get(spreadsheetId=SHEET_ID, range=SHEET_TAB+'!'+RANGE).execute().get('values', [])
#Sie können verschiedene Dinge mit Werten tun
print(values)
Recommended Posts