Lesen und Schreiben von Google Sheets mit Python
Python ist eine ausgezeichnete Programmiersprache. Die Syntax mag seltsam und ungewöhnlich erscheinen, ist jedoch leicht zu erlernen und zu verwenden. Minecraft Pi Edition unterstützt Minecraft Pi Edition. Lernen Sie Python und Elektronik mit Minecraft Pi Edition. Lernen Sie Python und Elektronik mit Minecraft Pi Edition. Wollten Sie schon immer Codieren lernen, wissen aber nicht, wo Sie anfangen sollen? Erfahren Sie, wie Sie Minecraft auf dem Raspberry Pi mithilfe von Python und einfacher Elektronik steuern können. Lesen Sie mehr sowie eine Reihe von Websites und wissenschaftlichen Forschungsprojekten.
In diesem Artikel werde ich Ihnen zeigen, wie Sie Google Sheets mit Python lesen und schreiben. Lesen Sie unsere Gründe, warum die Python-Programmierung nicht nutzlos ist. 5 Gründe, warum die Python-Programmierung nicht nutzlos ist. 5 Gründe, warum die Python-Programmierung nicht nutzlos ist. Sie können sogar wie ein Pendel von einem Ende zum anderen schwingen. Unabhängig davon ist Python eine Sprache, bei der es schwierig ist, ambivalent zu sein. Weitere Informationen und unsere fünf Google Sheets-Einstellungen 5 Google Sheets-Einstellungen, die für Teamwork unerlässlich sind 5 Google Sheets-Einstellungen, die für Teamwork unerlässlich sind Google Sheets bietet mehr Funktionen zur Unterstützung der gemeinsamen Dateneingabe und -verarbeitung, als Sie vielleicht denken. Wir stellen Ihnen die Funktionen und Funktionen von Google Sheets vor, die für Gruppenprojekte unerlässlich sind. Lesen Sie mehr, was für Teamarbeit unerlässlich ist. Sie liefern ein nützliches Hintergrundwissen. Wenn Sie gerade erst mit Ihrer Python-Reise anfangen, lernen Sie diese 5 besten Websites kennen. Die 5 besten Websites, um Python-Programmierung zu lernen Die 5 besten Websites, um Python-Programmierung zu lernen Möchten Sie Python-Programmierung lernen? Hier sind die besten Möglichkeiten, Python online zu lernen, von denen viele völlig kostenlos sind. Lesen Sie mehr sind ein guter Ausgangspunkt.
Google Setup
Bevor Sie in den Code springen, müssen Sie zunächst einige Einstellungen in den Google Sheets vornehmen.
Erstellen Sie sich zunächst ein neues Blatt. Sie können diesen Schritt überspringen, wenn Sie bereits einen eingerichtet haben. Ich verwende eine Liste von Rallye-Autos für dieses Beispiel:
Nun müssen Sie Ihre Freigabeoptionen einrichten. Sie müssen generieren Signierte Anmeldeinformationen, etwas, das schwieriger klingt als es ist. Navigieren Sie zur Google Developers Console und erstellen Sie ein neues Projekt (oder verwenden Sie ein vorhandenes Projekt):
Geben Sie Ihrem Projekt einen geeigneten Namen und klicken Sie dann auf erstellen:
Unterhalb Google Apps-APIs wählen Laufwerk-API:
Wählen Aktivieren:
Jetzt auswählen Referenzen im linken Menü:
Klicken Sie auf den kleinen Pfeil auf der Erstellen Sie Anmeldeinformationen Taste:
Jetzt auswählen Dienstkontoschlüssel:
Wählen App Engine-Standarddienstkonto unter Dienstkonto und JSON als das Format:
Klicken Sie auf Erstellen, und Sie sollten eine .Json Datei download. Verschieben Sie diese in Ihr Projektverzeichnis und benennen Sie sie um creds.json. Schließlich öffnen Sie die Datei und suchen nach client_email. Dies sollte der Name Ihres Projekts bei sein appspot.gserviceaccount.com. Teilen Sie Ihr Google Sheet mit dieser E-Mail-Adresse (Oben rechts > Aktie > Email eingeben).
Das war es für die Google Drive-Seite.
Python-Setup
Es gibt zwei Hauptversionen von Python: 2.7 und 3.x. Ich verwende 2.7, aber es spielt keine Rolle, was Sie verwenden. Das Python-Wiki baut die Unterschiede auf, wenn Sie interessiert sind. Möglicherweise möchten Sie eine virtuelle Umgebung installieren. Das ist außerhalb des Anwendungsbereichs dieses Artikels, aber gute Praxis.
Wenn Sie Microsoft Windows ausführen, müssen Sie möglicherweise Python herunterladen und installieren. Bei Mac OS ist Python bereits installiert. Da ich einen Mac verwende, wird dieses Projekt als solches erstellt. Sie sollten auf einem Windows- oder Linux-Computer einigermaßen gut folgen können. Vergewissern Sie sich, dass Sie unser Handbuch gelesen haben. Hey Windows-Benutzer, sollten Sie zu Linux oder Mac wechseln? Hey Windows User, sollten Sie zu Linux oder Mac wechseln? Haben Sie jemals darüber nachgedacht, von Windows zu Linux oder Mac zu wechseln? Die schnelle Antwort: Wenn Sie unter Windows sind, bleiben Sie unter Windows - und machen Sie sich noch keine Sorgen. Hier ist der Grund. Lesen Sie mehr darüber, ob Sie wechseln sollten.
Öffnen Sie zunächst ein neues Terminal. Sie müssen pip verwenden, um einige Python-Pakete zu installieren. Dies ist ein empfohlenes Tool, mit dem Pakete sehr einfach verwaltet werden können. Es kommt mit Python.
Sie müssen einen oauth2client installieren. Oauth ist ein Webautorisierungs-Framework. Ich werde die Details nicht besprechen, aber es ist notwendig, dass alles korrekt und sicher funktioniert. Mit pip einfach zu installieren:
pip install oauth2client
Abhängig von Ihrem Setup müssen Sie möglicherweise auch PyOpenSSL installieren:
pip install PyOpenSSL
Nun müssen Sie Gspread von Anton Burnashev auf GitHub installieren. Dies ist eine hervorragende Bibliothek, die den Zugriff auf Google Sheets in Python erleichtert. Auch dies ist mit pip einfach zu installieren:
pip install gspread
Öffnen Sie jetzt Ihren bevorzugten Texteditor (ich verwende Sublime Text 3). Erstellen Sie eine neue Python-Datei und speichern Sie sie in Ihrem Projektverzeichnis als google_io.py. Hier ist der Testcode:
print "Hallo, Welt!"
Geh zurück zu deinem Terminal und navigieren Sie zu Ihrem Projektverzeichnis. Sie können dies durch die CD Befehl. Sie können verwenden ls um Dateien aufzulisten, und pwd um Ihr Arbeitsverzeichnis anzuzeigen.
Sobald Sie sich in Ihrem Projektverzeichnis befinden, können Sie Ihr Python-Skript folgendermaßen ausführen:
python google_io.py
Sie sollten jetzt sehen Hallo Welt! in Ihrer Befehlszeile:
Nun, da Python korrekt arbeitet, können wir die Bibliotheken einrichten. Löschen Sie den Hallo-Weltcode. Importiere jetzt Gspread und führe den Code erneut aus:
importieren Sie G-Verbreitung
Wenn die Dinge richtig funktionieren, wird nichts passieren. Wenn Sie einen Fehler erhalten, sagen Sie vielleicht Kein Modul mit dem Namen X Dabei ist X der Name des Moduls, das Sie eingegeben haben (Gspread). Go und doppelklicken, ob pip das Modul korrekt installiert hat und dass Sie keinen Tippfehler gemacht haben.
Hier ist der Code zum Einstieg:
json importieren gspread aus oauth2client.client importieren SignedJwtAssertionCredentials json_key = json.load (open ('creds.json')) # json-Berechtigungsnachweise Sie haben die früheren Berechtigungsnachweise von scope = ['https://spreadsheets.google.com/feeds'] heruntergeladen SignedJwtAssertionCredentials (json_key ['client_email'], json_key ['private_key']. Encode (), scope) # E-Mail und Schlüssel von creds abrufen file = gspread.authorize (Anmeldeinformationen) # authentifizieren mit Google sheet = file.open ("MUO_Python_Sheet" ) .sheet1 # offenes Blatt
Dadurch werden Ihre Daten einfach von der Website abgerufen .Json Datei und verwendet sie dann zur Authentifizierung bei Google. Es öffnet sich dann ein Blatt namens MUO_Python_Sheet. Möglicherweise müssen Sie dies in den Namen Ihres Arbeitsblatts ändern (vorausgesetzt, Sie haben es richtig freigegeben). Bei Python muss die Groß- und Kleinschreibung beachtet werden. Stellen Sie daher sicher, dass Sie diesen Code korrekt eingeben.
lesen
Nun, da alles eingerichtet ist, ist es trivial, Daten zu lesen oder zu schreiben. So wählen Sie einen Zellbereich aus (in diesem Fall alle Autozellen):
all_cells = sheet.range ('A1: C6') gibt all_cells aus
So sieht das aus:
Nicht sehr schön ist das? Python hat den Inhalt des Objekts ohne Rücksicht auf die Formatierung ausgegeben. Weil dies im gespeichert ist all_cells variabel, kann auf sie wie jedes andere Python-Objekt zugegriffen werden. So drucken Sie alle Zellwerte in einem schöneren Format:
für Zelle in all_cells: print cell.value
Und das sieht so aus:
Es ist möglich, einzeln auf Zellen zuzugreifen (dies ist jedoch langsam, wenn Sie es oft machen):
A1 = sheet.acell ('A2'). Wert # Diese Zelle enthält "Ford".
Oder Sie können die Zellkoordinaten verwenden:
Koordinate = Blattzelle (3, 0) .Wert
Es ist einfach, alle Werte für eine Zeile abzurufen:
row = sheet.row_values (1) # erste Zeile
Oder Sie können eine ganze Kolumne bekommen. Das bekommt die Modell Reihe:
col = sheet.col_values (2) # Modelle
Beachten Sie, dass diese beiden Methoden nicht wissen, wie viele Daten Sie haben. Wenn Sie nur drei Zeilen haben, müssen Sie mehrere zusätzliche Zeilen hinzufügen leeren Zellen werden zurückgegeben. Es ist fast immer besser, auf einen vordefinierten Zellenblock zuzugreifen.
Schreiben
Es ist genauso einfach, zurück in das Arbeitsblatt zu schreiben, und Sie können Zellnamen oder Koordinaten verwenden, genau wie beim Lesen:
sheet.update_acell ('C2', 'Blue') sheet.update_cell (2, 3, 'Blue')
Die Projektseite auf GitHub enthält viele weitere Beispiele.
Wenn Sie auf ein wichtiges Blatt schreiben, möchten Sie möglicherweise eine erwägen Sicherheit Zelle. Speichern Sie einen Wert in einer bestimmten Zelle (ich verwende “Löschen Sie das nicht”) und dann zuerst diese Zelle lesen. Wenn sich der Inhalt geändert hat, wurden in Ihrem Arbeitsblatt Spalten hinzugefügt oder entfernt. Schreiben Sie also nicht weiter! So kann das erreicht werden:
Wenn sheet.acell ('B3')! = 'SICHERHEIT': # sich etwas im Blatt geändert hat, NICHT ERLEBEN: Ausnahme ("Oh mein Gott, ich bin nicht bereit dafür.") Andernfalls: # Fahren Sie mit dem Schreiben fort sheet.update_acell ('C2', 'Blue')
Das ist eine gute Praxis. Es stellt sicher, dass Ihr Skript nicht versehentlich in die falsche Spalte schreiben kann. Es ist kein Ersatz für richtige Backups (Sie haben Backups, richtig?).
Jetzt, wo Sie die Grundlagen kennen, machen Sie etwas cooles! Erfahren Sie, wie Sie mit cron arbeiten können. Einplanen von Aufgaben in Linux mit Cron und Crontab. Einplanen von Aufgaben in Linux mit Cron und Crontab. Die Möglichkeit, Aufgaben zu automatisieren, ist eine dieser futuristischen Technologien, die bereits vorhanden ist. Dank des einfach zu bedienenden Hintergrunddienstes cron kann jeder Linux-Benutzer von Terminplanungssystem- und Benutzeraufgaben profitieren. Weitere Informationen zum Planen von Tasks unter Linux (oder checkout eine Windows-Alternative Ausführen von Linux Style Cron-Jobs unter Windows Ausführen von Linux Style Cron-Jobs unter Windows Weitere Informationen). Vielleicht könnten Sie einen Bilderrahmen mit Strom versorgen ShowerThoughts und EarthPorn: Machen Sie einen inspirierenden Raspberry Pi-Fotorahmen ShowerThoughts und EarthPorn: Machen Sie einen inspirierenden Raspberry Pi-Fotorahmen Lesen Sie mehr oder erstellen Sie ein Büro-Dashboard!
Haben Sie bereits mit Google Sheets interagiert? Teilen Sie uns Ihre Erfahrungen in den Kommentaren unten mit!
Erfahren Sie mehr über: Google Drive, Google Sheets, Python.