Exportieren Sie den Datenrahmen von Pandas mit Python nach Google Sheets
Google Sheets ist ein webbasiertes Online-Tabellenkalkulationsprogramm, das von Google angeboten wird. Es ist eine Echtzeitanwendung, mit der Benutzer Tabellenkalkulationen erstellen und ändern und Daten online teilen können.
Die meisten Organisationen bitten mehrere Benutzer, gleichzeitig an einer einzigen Tabelle zu arbeiten. Diese Zusammenarbeit verfolgt jede Aktualisierung, die von dem jeweiligen Benutzer im Dokument vorgenommen wird.
Wir können Pandas Datenrahmen als zweidimensionale Datenstruktur nehmen, d. h. eine Tabelle mit Zeilen und Spalten, ähnlich einem zweidimensionalen Array, aber mit beschrifteten Achsen.
Wenn Sie Pandas-Datenrahmen haben, die in Google Sheets exportiert werden sollen, können Sie dies mit Python tun, wie in diesem Tutorial erklärt wird.
Exportieren Sie den Datenrahmen von Pandas mit Python nach Google Sheets
Um den Pandas-Datenrahmen in das Google-Blatt zu exportieren, müssen wir die drei unten aufgeführten Schritte ausführen:
- Synchronisieren Sie das Projekt mit der Google API-Konsole.
- Greifen Sie auf die Google Sheet-API zu.
- Exportieren Sie den Pandas-Datenrahmen in das Google Sheet.
-
Synchronisieren Sie das Projekt mit der Google API-Konsole.
Um das Projekt mit der Google API-Konsole zu synchronisieren, müssen wir zuerst ein Projekt über Google Cloud Console erstellen.

Um Anmeldeinformationen zu erstellen, müssen wir die folgenden zwei APIs aktivieren, indem wir in der Suchleiste suchen:
- Google Drive-API
- Google Sheet-API
Wie erstellt man nun Anmeldeinformationen? Dazu müssen wir die folgenden Schritte ausführen:
- Klicken Sie auf
Zugangsdaten erstellen. - Wählen Sie
Dienstkonto, geben SieName des Dienstkontosein und drücken Sie dannFertig(die restlichen Angaben sind optional). - Klicken Sie nach der Erstellung darauf, gehen Sie zur Registerkarte
Schlüsselund laden Sie den Schlüssel im JSON-Format herunter.

Der Inhalt der heruntergeladenen JSON-Datei (gespeichert in der Datei
service_account.json) kann wie folgt aussehen:{ "type": "service_account", "project_id": "some-project-id", "private_key_id": "eb...25", "private_key": "-----BEGIN PRIVATE KEY-----\nNrDyLw...jINQh/9\n-----END PRIVATE KEY-----\n", "client_email": "123...999-yourclientemail@projectid.iam.gserviceaccount.com", "client_id": "473...hd.apps.googleusercontent.com", ... } -
Greifen Sie auf die Google Sheet-API zu.
Installieren Sie die folgenden Python-Bibliotheken, um eine Verbindung zu Google Tabellen herzustellen und mit ihnen zu interagieren.
spread
PS C:\> pip install gspreadoauth2client
PS C:\> pip install oauth2clientLassen Sie uns einen
clientdurch den Code erstellen, der die heruntergeladene API verwendet, um die Google Sheets zu verbinden.Beispielcode (gespeichert in
demo.py):import gspread from oauth2client.service_account import ServiceAccountCredentials def create_connection(service_file): client = None scope = [ "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", ] try: credentials = ServiceAccountCredentials.from_json_keyfile_name( service_file, scope ) client = gspread.authorize(credentials) print("Connection established successfully...") except Exception as e: print(e) return client service = "service_account.json" # downloaded Credential file in JSON format client = create_connection(service)Zuerst haben wir
gspreadimportiert und aus dem Python-Paketouth2clienthaben wir eine KlasseServiceAccountCredentialsimportiert, die in der Dateiservice_account.pygespeichert ist.Die Funktion
create_connection()verbindetclientmit den Google Sheets. Es nimmt dieservice_fileals Argument, wo der Credential Key gespeichert ist.Vergessen Sie nicht, die
service_account.jsonim selben Verzeichnis wiedemo.pyzu halten oder ihren Pfad in derservice-Variablen zu speichern. Innerhalb dieser Funktion erstellen wir diecredentialsmitServiceAccountCredentials.from_json_keyfile_name().Dann stellen wir die
credentialsangspread.authorize()bereit, die ihre Authentizität prüft und einenclienterstellt, wenn der inservice_filegespeicherte Schlüssel gültig ist.Im Falle eines Fehlers druckt diese Funktion die
Ausnahme, ohne das Programm zu unterbrechen. -
Exportieren Sie den Pandas-Datenrahmen in das erstellte Google Sheet.
Um Pandas-Datenrahmen in ein Google-Blatt zu exportieren, müssen wir es zuerst erstellen. Lassen Sie uns einen Code schreiben, der ein Google-Blatt erstellt.
Beispielcode (gespeichert in
demo.py):def create_google_sheet(client, sheet_name): google_sheet = None try: google_sheet = client.create(sheet_name) google_sheet.share( "@gmail.com", # enter the email you want to create a google sheet on perm_type="user", role="writer", ) print("Google Sheet created successfully...") except Exception as e: print(e) return google_sheet service = "service_account.json" # downloaded Credential file in JSON format client = create_connection(service) sheet_name = "50_Startups" # google sheet name of your choice google_sheet = create_google_sheet(client, sheet_name)Die Funktion
create_google_sheetnimmt die bereits erstelltenclientundsheet_nameals Argumente und verwendet die Funktionclient.create(), um ein Google-Sheet zu erstellen.Beachten Sie, dass dieses Google-Blatt auf dem
clienterstellt wird, der mit der heruntergeladenen API erstellt wurde. Daher müssen wir es mit der E-Mail teilen, die wir zum Erstellen eines Dienstkontos verwendet haben, und die Schreibberechtigungen mithilfe der Funktiongoogle_sheet.share()erteilen.Hier besteht der letzte Schritt darin, Daten in Google Sheets zu exportieren. Dazu müssen wir die Python-Bibliothek
pandaswie folgt installieren:PS C:\> pip install pandasLassen Sie uns diesen Code ausführen, der schließlich den Pandas-Datenrahmen in Google Sheets exportiert.
Beispielcode (gespeichert in
demo.py):import pandas as pd def export_dataframe_to_google_sheet(worksheet, dataframe): try: worksheet.update( [dataframe.columns.values.tolist()] + dataframe.values.tolist() ) print("DataFrame exported successfully...") except Exception as e: print(e) df_file = "50_Startups.csv" dataframe = pd.read_csv(df_file) worksheet = google_sheet.get_worksheet(0) export_dataframe_to_google_sheet(worksheet, dataframe)
Standardmäßig ist bereits ein Arbeitsblatt in Google Sheets integriert. Wir können von google_sheet darauf zugreifen, indem wir den Index als google_sheet.get_worksheet(0) verwenden.
Darauf exportieren wir dann den Datenrahmen mit der Funktion export_dataframe_to_google_sheet(). Es listet einfach den Datenrahmen auf und exportiert ihn in Google Sheets.
Nun führen wir die Python-Datei demo.py wie folgt aus:
PS C:\> python demo.py
Ausgabe (auf Konsole gedruckt):

Während der in Google Sheets exportierte Datenrahmen wie folgt aussieht:
