2010-03-04 21 views
5

Sono in grado di ottenere il feed dal foglio di calcolo e dall'ID del foglio di lavoro. Voglio acquisire i dati da ciascuna cella.Come scrivere uno script python per manipolare i dati del foglio di calcolo di Google

Ad esempio, sono in grado di ottenere il feed dal foglio di lavoro. Ora ho bisogno di ottenere dati (tipo stringa?) Da ciascuna delle celle per fare un confronto e per l'input.

Come posso farlo esattamente?

+0

Non so nulla di python ma non sarebbe più semplice convertire prima il file excel in rtf e quindi leggere i valori? – Grumpy

+0

Sto usando lo script python per recuperare i dati dal foglio di calcolo di google docs qui. – GeminiDNK

risposta

21

C'è un altro spreadsheet library vale la pena di guardare: gspread. Ho usato la libreria dati di Google sopra menzionata e per me l'API fornita è strana. È necessario estrarre la chiave del foglio di calcolo per iniziare a lavorare con questo foglio di calcolo.

Qui è un modo più semplice. Se avete bisogno di recuperare i dati da una cella si può solo aprire un foglio di lavoro e ottenere il valore:

g = gspread.login('[email protected]', 'password') 

worksheet = g.open('name_of_the_spreadsheet').get_worksheet(0) 

# Say, you need A2 
val = worksheet.cell(2, 1).value 

# And then update 
worksheet.update_cell(2, 1, '42') 
+3

Questo sembra molto più sensato e meno sfacciato – Damian

0

gspread è probabilmente il modo più veloce per iniziare questo processo, tuttavia ci sono alcune limitazioni di velocità dei dati di aggiornamento tramite gspread dal tuo localhost. Se si spostano grandi serie di dati con gspread, ad esempio spostando 20 colonne di dati su una colonna, è possibile automatizzare il processo utilizzando un lavoro CRON.

0

C'è un'altra libreria di fogli di calcolo: pygsheets. È simile a gspread, ma usa google api v4. Quindi fornisce più opzioni.

import pygsheets 

gc = pygsheets.authorize() 

# Open spreadsheet and then workseet 
sh = gc.open('my new ssheet') 
wks = sh.sheet1 

# Update a cell with value (just to let him know values is updated ;)) 
wks.update_cell('A1', "Hey yank this numpy array") 

# update the sheet with array 
wks.update_cells('A2', my_nparray.to_list()) 

# share the sheet with your friend 
sh.share("[email protected]") 
Problemi correlati