2010-03-04 9 views
5

Puedo obtener el feed de la hoja de cálculo y la ID de la hoja de trabajo. Quiero capturar los datos de cada celda.Cómo escribir un script de Python para manipular los datos de la hoja de cálculo de google

es decir, puedo obtener el feed de la hoja de trabajo. Ahora necesito obtener datos (tipo de cadena?) De cada una de las celdas para hacer una comparación y para la entrada.

¿Cómo puedo hacer eso exactamente?

+0

No sé nada sobre python pero ¿no sería más fácil convertir primero el archivo de Excel a rtf y luego leer los valores? – Grumpy

+0

Estoy usando una secuencia de comandos python para buscar datos de la hoja de cálculo de Google Docs aquí. – GeminiDNK

Respuesta

21

Hay otro spreadsheet library vale la pena mirar: gspread. He usado la biblioteca de datos de Google mencionada anteriormente y para mí la API proporcionada es extraña. Debe extraer la clave de la hoja de cálculo para comenzar a trabajar con esta hoja de cálculo.

Aquí es una manera más simple. Si necesita recuperar los datos de una celda que sólo puede abrir una hoja de trabajo y obtener el valor:

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

Esto se ve mucho más sensible y menos kludgey – Damian

0

gspread es probablemente la manera más rápida de comenzar este proceso, sin embargo, hay algunas limitaciones de velocidad en la actualización de datos utilizando gspread de tu localhost. Si está moviendo grandes conjuntos de datos con gspread, por ejemplo, moviendo 20 columnas de datos en una columna, puede automatizar el proceso utilizando un trabajo CRON.

0

Hay otra biblioteca de hojas de cálculo: pygsheets. Es similar a gspread, pero usa google api v4. Por lo tanto, proporciona más opciones.

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]") 
Cuestiones relacionadas