Dieser Leitfaden stellt vor, wie man Google Spreadsheet-Daten programmatisch mit den Python-Bibliotheken oauth2client und gspread manipuliert. Google Spreadsheets ist ein praktisches Tool zur Verwaltung von Daten in der Cloud, und Sie können diese Daten mit Python automatisieren und manipulieren.
Voraussetzungen
1. Installation der Google API Client-Bibliotheken
Installieren Sie die folgenden Bibliotheken.
pip install gspread oauth2client
2. Einrichtung des Google API-Projekts
- Erstellen Sie ein neues Projekt in der Google Cloud Console.
- Aktivieren Sie die Google Sheets API und Google Drive API.
- Erstellen Sie Anmeldeinformationen und wählen Sie “Service Account Key”. Laden Sie den Schlüssel im JSON-Format herunter und gewähren Sie dem Projekt entsprechende Berechtigungen.
3. Freigabe des Spreadsheets
Erstellen Sie ein Spreadsheet und geben Sie der E-Mail-Adresse des gerade erstellten Dienstkontos Bearbeitungsberechtigungen.
Python-Skript-Beispiel
Hier ist ein Beispielskript für den Zugriff auf Google Spreadsheet-Daten mit Python.
import gspread
from oauth2client.service_account import ServiceAccountCredentials
def main():
# Definieren Sie den Scope für die Google Sheets API
scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
# Laden Sie die Anmeldeinformationen
creds = ServiceAccountCredentials.from_json_keyfile_name('path/to/credentials.json', scope)
# Initialisieren Sie den Client
client = gspread.authorize(creds)
# Öffnen Sie das Spreadsheet über die ID
sheet = client.open_by_key('your_spreadsheet_id').sheet1
# Daten lesen
data = sheet.get_all_records()
print(data)
# In Zelle schreiben
sheet.update_cell(2, 2, 'Hello, World!')
if __name__ == "__main__":
main()
Hinweise
- Ändern Sie die Spreadsheet-ID und den JSON-Dateipfad entsprechend Ihrer Umgebung.
- Aus Sicherheitsgründen teilen Sie die Anmeldeinformationsdatei (JSON-Datei) nicht mit anderen.
- Für die JSON-Datei, die von
ServiceAccountCredentials.from_json_keyfile_namegeladen wird, geben Sie den Dateipfad des heruntergeladenen Dienstkontoschlüssels an.