Como manipular planilhas do Google com Python
Tempo de leitura: 2 minutos
Este post foi inspirado no lembrete de Patrick McKenzie de que, às vezes, você não precisa de um banco de dados:
Se você está criando um aplicativo CRUD rápido para, por exemplo, uso interno, o Google Docs como um back-end (consumido via JSON) é *surpreendentemente* poderoso.
— Patrick McKenzie (@patio11) 5 de julho de 2014
Neste tutorial, usaremos o excelente pacote Python de Anton Burnashevgspread para ler, escrever e excluir dados de uma planilha do Google com poucas linhas de código.
API do Google Drive e contas de serviço
Sei que parece óbvio, mas você precisará de uma planilha se quiser acompanhar este post. Se você não possui dados suficientes em uma planilha, que tal copiar esta planilha com informações de contato de todos os legisladores dos Estados Unidos? (Nota rápida: Ian Webster usa esses dados na plataforma da Twilio para facilitar que cidadãos liguem para o congresso).
Para acessar a planilha de forma programática, você precisará criar uma conta de serviço e credenciais do OAuth2 no Painel de APIs do Google. Se você tem algum trauma quanto ao desenvolvimento do OAuth2, não se preocupe; as contas de serviço são muito mais fáceis de usar.
Siga as etapas e o GIF a seguir. Você estará dentro e fora do painel em 60 segundos (igual ao filme homônimo estrelado por Nicolas Cage).
- Vá até o Painel de APIs do Google.
- Crie um projeto.
- Clique em Enable API (Ativar API). Pesquise e ative a Google Drive API.
- Clique em Create credentials (Criar credenciais) para que um servidor Web acesse os dados do aplicativo.
- Atribua um nome à conta de serviço e conceda a ela a função de Editor do Projeto.
- Faça download do arquivo JSON.
- Copie o arquivo JSON no seu diretório de códigos e renomeie-o como client_secret.json
Há uma última etapa necessária para autorizar seu app e que é normalmente esquecida!
Encontre o client_email dentro do client_secret.json. De volta à planilha, clique no botão Share (Compartilhar) no canto superior direito e cole o e-mail do cliente no campo People (Pessoas) para conceder direitos de edição. Clique em Send (Enviar).
Se você ignorar essa etapa, receberá a mensagem de erro gspread.exceptions.SpreadsheetNotFound quando for tentar acessar a planilha no Python.
Parte chata: concluída! Agora vamos para o código.
Leitura de dados de uma planilha com Python
Com as credenciais criadas (você as copiou no seu diretório de códigos, certo?), o acesso a uma planilha do Google no Python requer apenas dois pacotes:
- oauth2client: para autorizar o uso do OAuth 2.0 com a Google Drive API.
- gspread: para interagir com planilhas do Google
Instale esses pacotes com:
Em seguida, cole esse código em um novo arquivo chamado spreadsheet.py:
Execute o spreadsheet.py em Python e maravilhe-se com os dados fantásticos e bem formatados.
Inserir, atualizar e excluir dados de uma planilha com Python
Acabamos de apresentar uma visão geral sobre a funcionalidade bem documentada e abrangente do gspreads.
Por exemplo, extraímos os dados de uma lista de hashes, mas você poderá obter uma lista de listas se preferir:
Ou poderá apenas extrair os dados de uma única linha, coluna ou célula:
Você pode escrever na planilha ao alterar uma célula específica:
Ou pode inserir uma linha na planilha:
Você também pode excluir uma linha da planilha:
E descobrir o número total de linhas:
Para obter detalhes sobre essas funções e outras dezenas disponíveis, consulte a Referência da API do gspread .
O uso de planilhas do Google com Python abre possibilidades, como a criação de um app Flask com uma planilha como a camada de persistência ou a importação de dados de uma planilha do Google no Jupyter Notebooks e a realização de análises em Pandas. Se você quiser começar a testar Python e Twilio, confira nossos Guias de início rápido do Python.
Publicações relacionadas
Recursos relacionados
Twilio Docs
De APIs a SDKs e aplicativos de amostra
Documentação de referência de API, SDKs, bibliotecas auxiliares, guias de início rápido e tutoriais para sua linguagem e plataforma.
Centro de Recursos
Os mais recentes e-books, relatórios do setor e webinars
Aprenda com especialistas em engajamento do cliente para melhorar sua própria comunicação.
Ahoy
Centro da comunidade de desenvolvedores da Twilio
Melhores práticas, exemplos de código e inspiração para criar comunicações e experiências de engajamento digital.