Como escrever um script python para manipular dados da planilha do Google
-
24-09-2019 - |
Pergunta
Sou capaz de obter o feed da planilha e o ID da planilha. Eu quero capturar os dados de cada célula.
Por exemplo, sou capaz de obter o feed da planilha. Agora eu preciso obter dados (tipo de string?) De cada uma das células para fazer uma comparação e para entrada.
Como exatamente posso fazer isso?
Solução
O Google Data API possui uma ligação do Python, inclusive para planilhas: http://code.google.com/apis/spreadsheets/data/1.0/developers_guide_python.html
Outras dicas
Há outro Biblioteca de planilhas Vale a pena olhar: GSPread. Eu usei os dados do Google Libary mencionados acima e, para mim, a API fornecida é estranha. Você precisa extrair a chave da planilha para começar a trabalhar com esta planilha.
Aqui está um caminho mais simples. Se você precisar buscar os dados de uma célula, basta abrir uma planilha e obter o valor:
g = gspread.login('your@gmail.com', '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')
Talvez você possa usar esta biblioteca http://code.google.com/apis/spreadsheets/data/1.0/developers_guide_python.html ?
O GSpread é provavelmente a maneira mais rápida de iniciar esse processo, no entanto, existem algumas limitações de velocidade na atualização de dados usando o GSPread do seu host local. Se você estiver movendo grandes conjuntos de dados com o GSpread - por exemplo, movendo 20 colunas de dados em uma coluna, convém automatizar o processo usando um trabalho CRON.
Há outra biblioteca de planilha: Pygsheets. É semelhante ao GSPread, mas usa o Google API V4. Portanto, fornece mais opções.
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("myFriend@gmail.com")