Come leggere e scrivere su fogli Google con Python

Come leggere e scrivere su fogli Google con Python / Programmazione

Python è un eccellente linguaggio di programmazione. La sintassi può sembrare strana e insolita, tuttavia è facile da imparare e da usare. Alimenta Minecraft Pi Edition Impara Python ed Electronics con Minecraft Pi Edition Impara Python ed Electronics con Minecraft Pi Edition Hai sempre desiderato imparare a programmare ma non sapevo da dove cominciare? Scopri come controllare Minecraft sul Raspberry Pi usando Python e alcuni semplici dispositivi elettronici. Per saperne di più, insieme a una manciata di siti Web e progetti di ricerca accademici.

In questo articolo, ti mostrerò come leggere e scrivere su Fogli Google usando Python. Assicurati di leggere le nostre ragioni per cui la programmazione Python non è inutile 5 Ragioni per cui la programmazione Python non è inutile 5 motivi per cui Python Programming non è inutile Python - Lo ami o lo odi. Potresti anche oscillare da un'estremità all'altra come un pendolo. Indipendentemente da ciò, Python è un linguaggio per il quale è difficile essere ambigui. Ulteriori informazioni e le nostre cinque impostazioni di Google Fogli 5 Impostazioni Fogli Google Essential per il lavoro di squadra 5 Impostazioni Fogli Google Elementi essenziali per il lavoro di gruppo Fogli Google ha più funzioni per supportare l'elaborazione e l'elaborazione di dati collettivi di quanto si possa pensare. Ti presenteremo le funzioni e le funzioni di Google Sheets essenziali per i progetti di gruppo. Leggi di più che sono essenziali per il lavoro di squadra. Forniranno alcune utili conoscenze di base. Se stai appena iniziando il tuo viaggio in Python, questi 5 migliori siti web per imparare Python I 5 migliori siti web per imparare la programmazione Python I 5 migliori siti web per imparare la programmazione Python Vuoi imparare la programmazione Python? Ecco i modi migliori per imparare Python online, molti dei quali sono completamente gratuiti. Leggi di più sono un buon punto di partenza.

Installazione di Google

Prima di saltare nel codice, c'è bisogno di alcune impostazioni iniziali su Fogli Google.

In primo luogo, crea te stesso un nuovo foglio. Puoi saltare questo passaggio se ne hai già uno configurato. Sto usando un elenco di auto da rally per questo esempio:

Ora devi impostare le opzioni di condivisione. Dovrai generare Credenziali firmate, qualcosa che sembra più difficile di quello che è. Accedi a Google Developers Console e crea un nuovo progetto (o utilizzane uno esistente):

Dai al tuo progetto un nome adatto e poi clicca creare:

Sotto API di Google Apps selezionare Drive API:

Scegliere Abilitare:

Ora seleziona Credenziali sul menu a sinistra:

Fare clic sulla piccola freccia sul Crea credenziali pulsante:

Ora seleziona Chiave dell'account di servizio:

Scegliere Account di servizio predefinito di App Engine sotto Account di servizio e JSON come il formato:

Fai clic su crea e dovresti ottenere un .jSON download file. Spostalo nella directory del tuo progetto e rinominalo creds.json. Infine, apri il file e cerca client_email. Questo dovrebbe essere il nome del tuo progetto a appspot.gserviceaccount.com. Condividi il tuo foglio Google con questo indirizzo email (In alto a destra > Condividere > Inserisci l'email).

Questo è tutto per il lato Google Drive.

Installazione di Python

Esistono due versioni principali di Python: 2.7 e 3.x. Userò 2.7, ma non importa quello che usi. Il wiki Python abbatte le differenze se sei interessato. Potresti voler installare un ambiente virtuale. Questo è al di fuori dello scopo di questo articolo, ma è una buona pratica.

Se stai usando Microsoft Windows, potresti aver bisogno di scaricare e installare Python. Mac OS viene fornito con Python già installato. Dato che sto usando un Mac, questo progetto verrà creato come tale. Dovresti essere in grado di seguire ragionevolmente bene su una macchina Windows o Linux. Assicurati di leggere la nostra guida Ehi Utente di Windows, dovresti passare a Linux o Mac? Ehi Utente di Windows, dovresti passare a Linux o Mac? Hai mai pensato di passare da Windows a Linux o Mac? La risposta rapida: se sei su Windows, rimani su Windows e non preoccuparti ancora dell'aggiornamento. Ecco perché. Leggi di più sul fatto che tu debba cambiare.

Innanzitutto, apri un nuovo terminale. Dovrai usare pip per installare alcuni pacchetti Python. Questo è uno strumento di raccomandazione che rende molto facile la gestione dei pacchetti. Viene fornito con Python.

Devi installare un oauth2client. Oauth è un framework di autorizzazione web. Non discuterò i dettagli di ciò, ma è necessario che tutto funzioni correttamente e in sicurezza. È facile da installare usando pip:

pip installa oauth2client

Potrebbe essere necessario installare PyOpenSSL, a seconda della configurazione:

pip installa PyOpenSSL

Ora devi installare Gspread di Anton Burnashev su GitHub. Questa è un'eccellente libreria scritta per facilitare l'accesso a Fogli Google in Python. Di nuovo, questo è facile da installare usando pip:

pip installa gspread

Ora apri il tuo editor di testo preferito (sto usando Sublime Text 3). Creare un nuovo file Python e salvarlo nella directory del progetto come google_io.py. Ecco il codice di prova:

stampa 'Ciao, Mondo!'

Torna al tuo terminale e vai alla directory del tuo progetto. Puoi farlo attraverso il CD comando. Puoi usare ls per elencare i file, e pwd per mostrare la tua directory di lavoro.

Una volta nella tua directory del progetto, puoi eseguire il tuo script Python in questo modo:

python google_io.py

Ora dovresti vedere Ciao mondo! nella tua riga di comando:

Ora che Python sta funzionando correttamente, lascia andare avanti e configurare le librerie. Elimina il codice mondiale Hello. Ora importa Gspread ed esegui nuovamente il codice:

importazione gspread

Se le cose funzionano correttamente, non accadrà nulla. Se ottieni un errore, forse stai dicendo nessun modulo chiamato X dove X è il nome del modulo che hai digitato (Gspread) vai e controlla due volte il pip ha installato correttamente il modulo, e che non hai fatto un errore tipografico.

Ecco il codice per iniziare:

import jsp import gspread da oauth2client.client import SignedJwtAssertionCredentials json_key = json.load (aperto ('creds.json')) # credenziali json scaricate precedentemente scope = ['https://spreadsheets.google.com/feeds'] credenziali = SignedJwtAssertionCredentials (json_key ['client_email'], json_key ['private_key']. Encode (), scope) # ricevi email e chiave da creds file = gspread.authorize (credenziali) # autenticati con Google sheet = file.open ("MUO_Python_Sheet" ) .sheet1 # foglio aperto

Questo semplicemente recupera i tuoi dettagli dal .jSON file e quindi li utilizza per l'autenticazione con Google. Quindi apre un foglio chiamato MUO_Python_Sheet. Potrebbe essere necessario cambiarlo con il nome del tuo foglio (a condizione che tu lo abbia condiviso correttamente). Python fa distinzione tra maiuscole e minuscole, quindi assicurati di inserire questo codice correttamente.

Lettura

Ora che tutto è configurato, è banale leggere o scrivere dati. Ecco come si seleziona un intervallo di celle (in questo caso, tutte le celle della macchina):

all_cells = sheet.range ('A1: C6') stampa all_cells

Ecco come appare:

Non è molto carino vero? Python ha scaricato il contenuto dell'oggetto, senza riguardo per la formattazione. Perché questo è memorizzato nel all_cells variabile, è possibile accedervi come qualsiasi altro oggetto Python. Ecco come si stampano tutti i valori delle celle in un formato migliore:

per cella in all_cells: print cell.value

E questo sembra:

È possibile accedere alle celle singolarmente (anche se questo è lento se lo fai molte volte):

A1 = sheet.acell ('A2'). Valore # questa cella contiene "Ford"

O puoi usare le coordinate della cella:

coord = sheet.cell (3, 0) .valore

È facile ottenere tutti i valori per una riga:

row = sheet.row_values ​​(1) # prima riga

Oppure puoi ottenere un'intera colonna. Questo ottiene il Modello riga:

col = sheet.col_values ​​(2) # modelli

Tieni presente che questi due metodi non sanno quanti dati hai. Se hai solo tre righe, più extra vuoto le celle saranno restituite. È quasi sempre meglio accedere a un blocco predefinito di celle.

scrittura

È altrettanto facile scrivere di nuovo nel foglio e puoi usare i nomi delle celle o le coordinate, proprio come quando leggi:

sheet.update_acell ('C2', 'Blue') sheet.update_cell (2, 3, 'Blue')

La pagina del progetto su GitHub ha molti altri esempi.

Se stai scrivendo su un foglio importante, potresti prendere in considerazione a sicurezza cellula. Memorizza un valore in una determinata cella (io uso “Non cancellare questo”) e poi leggere prima quella cella. Se i contenuti sono stati modificati, le colonne sono state aggiunte o rimosse nel foglio, quindi non continuare a scrivere! Ecco come si potrebbe ottenere:

if sheet.acell ('B3')! = 'SAFETY': # qualcosa è cambiato nel foglio, NON PROCEDERE sollevare Exception ("Oh My, non sono pronto per questo.") altrimenti: # continua con la tua scrittura sheet.update_acell ( 'C2', 'Blue')

Questa è una buona pratica. Assicura che il tuo script non possa scrivere accidentalmente nella colonna sbagliata. Non è un sostituto per i backup corretti (hai dei backup, giusto?).

Ora che conosci le basi, vai a fare qualcosa di interessante! Impara come usare cron Come programmare le attività in Linux con Cron e Crontab Come programmare le attività in Linux con Cron e Crontab La possibilità di automatizzare le attività è una di quelle tecnologie futuristiche che è già qui. Ogni utente Linux può trarre vantaggio dal sistema di pianificazione e dalle attività dell'utente, grazie a cron, un servizio di background facile da usare. Per saperne di più per pianificare le attività in Linux (o eseguire il checkout di una alternativa di Windows Come eseguire lavori cron di stile Linux su Windows Come eseguire lavori cron di stile Linux su Windows Ulteriori informazioni). Forse potresti alimentare una cornice per foto ShowerThoughts e EarthPorn: crea un Inspiring Raspberry Pi Photo Frame ShowerThoughts e EarthPorn: crea un Inspiring Raspberry Pi Photo Frame Leggi di più o crea un dashboard per l'ufficio - questo è quello che ho fatto!

Hai già interagito con Google Fogli prima? Fateci sapere le vostre esperienze nei commenti qui sotto!

Scopri di più su Google Drive, Google Sheets, Python.