Wie kann ich Zugriff (Lesen, schreiben) in Google-Tabellen-Tabellen mit Python?
Frage ich mich, wenn Sie können zeigen Sie mir ein Beispiel zum Lesen/schreiben auf/von google docs/spreadsheet mit python.
Ich habe mir bei google docs API hier https://developers.google.com/google-apps/spreadsheets/ aber nicht sicher, ob ich auf den richtigen link. Auch ein Beispiel dafür wird eine große Hilfe sein.
Was ich versuche zu tun, ist die Abfrage Tabellen auf der Grundlage der verschiedenen Spalten mehr wie eine SQL-Abfrage und führen Sie dann einige downstream-Analyse mit den Daten und setzen Sie es in einem anderen Arbeitsblatt oder Dokument auf google docs.
Besten,
-Abhi
Du musst angemeldet sein, um einen Kommentar abzugeben.
(Jun-Dez 2016) die Meisten Antworten hier sind jetzt out-of-date, wie: 1) GData-APIs sind die Vorherige generation von Google-APIs, und deshalb war es schwer für @Josh Brown zu finden, die alte GData-Docs API-Dokumentation. Während nicht alle GData APIs sind veraltet, alle neuer Google-APIs tun nicht verwenden das Google Data protocol; und 2) Google veröffentlicht neue Google-Tabellen-API (nicht GData). Um die neue API zu erhalten, müssen Sie die Google APIs-Client-Bibliothek für Python (es ist so einfach wie
pip install -U google-api-python-client
[oderpip3
für Python 3]) und verwenden Sie die neueste Blätter API v4+, die viel mehr kräftig & flexibel als ältere API-Versionen.Hier ist eine code-Beispiel von der offiziellen docs, um zu helfen, Sie wurde. Allerdings, hier sind etwas länger, mehr "real-world" - Beispiele für die Verwendung der API, die man lernen kann (videos sowie blog-Beiträge):
Den neuesten Bettwäsche-API bietet Funktionen, die nicht verfügbar in früheren Versionen, nämlich Entwicklern den programmatischen Zugriff auf ein Blatt, als wenn Sie wurden mit Hilfe der Benutzeroberfläche (anlegen von fixierten Zeilen, führen Sie die Formatierung der Zelle, der Größenänderung von Zeilen/Spalten hinzufügen, pivot-Tabellen, erstellen von Diagrammen, etc.), aber NICHT so, als ob es war eine Datenbank, die Sie erfüllen könnten, sucht Sie auf und Holen Sie die ausgewählten Zeilen aus. Sie hatte im Grunde erstellen, der eine Abfrage Schicht über der API, die diese unterstützt. Eine alternative ist die Verwendung die Google Charts Visualisierung der API-Abfrage-Sprache, die unterstützt SQL-ähnliche Abfragen. Sie können auch Abfrage innerhalb der Blatt - selbst. Beachten Sie, dass diese Funktionalität gab es vor der v4-API, und dass die security-Modell wurde aktualisiert, Aug 2016. Um mehr zu erfahren, überprüfen Sie mein G+ reshare zu einem full write-up von einem Google Developer Expert.
Beachten Sie auch, dass die Blätter API ist in Erster Linie für die programmgesteuerte Zugriff auf Arbeitsblatt operations & Funktionalität, wie oben beschrieben, sondern führen Sie Datei-Ebene Zugang, wie Import/Export, kopieren, verschieben, umbenennen, etc., verwenden Sie dieGoogle Drive-API statt. Beispiele für die Verwendung der Drive-API:
(*) - TL;DR: upload text-Datei auf Festplatte, importieren/konvertieren Google Docs-format, exportieren Sie dann die Doc als PDF. Post oben verwendet Laufwerk API v2; diese follow-up-post beschreibt eine Migration Drive API v3, und hier ist ein Entwickler-video die Kombination der beiden "Armen Mannes converter" - posts.
Erfahren Sie mehr über die Verwendung von Google-APIs mit Python im Allgemeinen, check-out mein blog sowie eine Vielzahl von Google-Entwickler-videos (Serie 1 und Serie 2) bin ich produziert.
ps. Soweit Google Docs geht, gibt es nicht eine REST-API zur Verfügung zu diesem Zeitpunkt, so ist der einzige Weg, um den programmgesteuerten Zugriff auf ein Dokument wird durch die Verwendung Google Apps Script (die wie Node.js ist JavaScript außerhalb des Browsers, sondern der auf einem Knoten ausgeführt-server, diese apps laufen in der Google-cloud; auch check out my intro-video.) Mit Apps Script können Sie bauen eine Docs-app oder eine add-on für Google Docs (und andere Dinge wie Bettwäsche & Formen).
UPDATE Jul 2018: Die oben genannten "ps." ist nicht mehr wahr. Die G-Suite, Entwickler-team pre-angekündigt, ein neues Google-Docs-REST-API an Google Cloud WEITER", 18. Entwickler, die Interesse daran haben in die early-access-Programm für die neue API sollten sich auf https://developers.google.com/docs.
UPDATE Feb 2019: Die Docs API gestartet, um die Vorschau im vergangenen Juli ist nun allgemein verfügbar zu alle... Lesen Sie den Start post für mehr details.
Haben Sie einen Blick auf GitHub - gspread.
Ich fand es sehr einfach zu benutzen und da können Sie abrufen, eine ganze Spalte durch
und eine ganze Reihe von
können Sie mehr oder weniger bauen einige grundlegende select -
...
wo... = ...
leicht.Ich weiß, dieser thread ist alt, aber hier ist ein paar anständige Dokumentation auf Google-Docs API. Es war lächerlich schwer zu finden, aber nützlich, so vielleicht es wird Ihnen helfen, einige. http://pythonhosted.org/gdata/docs/api.html.
Ich verwendet gspread vor kurzem für ein Projekt, das graph die Zeitdaten Ihrer Mitarbeiter. Ich weiß nicht, wie viel es Ihnen helfen könnte, aber hier ist ein link zum code: https://github.com/lightcastle/employee-timecards
Gspread machte die Sache für mich ziemlich einfach. Ich war auch in der Lage, hinzufügen von Logik zu überprüfen, für verschiedene Bedingungen zu erstellen Monats-to-date und year-to-date Ergebnisse. Aber ich habe gerade importiert die ganzen dang Tabellenkalkulation und analysiert von dort aus, also ich bin mir nicht 100% sicher, dass es genau das ist, was du bist suchen für. Viel Glück.
Werfen Sie einen Blick auf gspread port für api-v4 - pygsheets. Es sollte sehr einfach zu nutzen, anstatt die google-client.
Beispiel
Sehen die docs hier.
Autor hier.
pygsheets
einen port vongspread
oder ein komplettes re-schreiben?Die neueste google-api-docs-Dokument, wie Sie schreiben, um eine Tabelle mit python, aber es ist ein wenig schwierig zu navigieren. Hier ist ein link um ein Beispiel zum Anhängen.
Folgende code ist meine erste erfolgreiche Versuch Anhängen, um ein google-spreadsheet.
Haben, könnten Sie einen Blick auf Sheetfu. Das folgende ist ein Beispiel aus der README. Es gibt eine super-einfache syntax, um die Interaktion mit Tabellen, als wenn Sie eine Datenbank-Tabelle.
Disclaimer: ich bin der Autor dieser Bibliothek.
Dieser thread scheint ziemlich alt sein.
Wenn jemand noch auf der Suche, die Schritte, die hier erwähnt werden : https://github.com/burnash/gspread sehr gut funktionieren.
Stellen Sie sicher, lassen Sie Ihre Anmeldeinformationen json-Datei in Ihrem aktuellen Verzeichnis. Benennen Sie es als client_secret.json.
Möglicherweise Fehler auftreten, wenn Sie nicht aktivieren Sie Google Sheet API mit Ihren aktuellen Anmeldeinformationen an.
Ich glaube, Sie suchen bei der Zell-basierten feeds Abschnitt in die API doc Seite. Dann können Sie einfach die PUT - /GET-Anforderungen in Ihrem Python-Skript, entweder mit
commands.getstatusoutput
odersubprocess
.