Tamanho de fonte
Alto contraste
Altura de linha
google sheets com python

Google Sheets API com Python: automatizando suas planilhas

Avatar de Rebeca Honorio Rebeca Honorio
13 minutos de leitura 26 dias atrás

A integração entre Google Sheets e Python é uma poderosa ferramenta para quem busca automatizar tarefas e otimizar processos. Com a crescente demanda por eficiência e automação, entender como essas duas tecnologias podem trabalhar juntas é essencial para qualquer profissional que lida com dados e demanda de muito tempo com as questões administrativas, seja ela da sua empresa ou pessoal. 

Neste artigo, vamos explorar como funciona a integralização do Google Sheets com Python, configurar e utilizar a Google Sheets API com Python, desde a configuração inicial até casos de uso avançados, passando por autenticação e operações básicas. Se você ficou interessado e já está imaginando como essas ferramentas podem facilitar suas tarefas, não perca tempo! Confira o nosso artigo completo e comece a automatizar suas planilhas agora.

O conteúdo deste artigo também está disponível em formato de vídeo. Se você prefere aprender com um passo a passo visual, basta clicar no vídeo abaixo e acompanhar todos os detalhes de forma prática e fácil. Aproveite para assistir e seguir cada etapa com mais clareza!

Integração de Google Sheets com Python

google sheets api python

Já imaginou automatizar o trabalho em suas planilhas do Google Sheets com Python em poucos cliques? Integrar Google Sheets com Python pode revolucionar a forma como você lida com dados, transformando tarefas repetitivas em processos automáticos e supereficientes.

Com essa integração, você ganha tempo para focar no que realmente importa: análises estratégicas e decisões baseadas em dados. Além disso, a automação minimiza erros humanos e garante que suas informações estejam sempre atualizadas.

A grande vantagem?

Python, permite criar scripts que interagem diretamente com suas planilhas. Dessa forma, você consegue manipular dados de forma muito mais dinâmica e eficiente, tornando todo o processo mais rápido e preciso.

Se você costuma utilizar o Google Sheets, seja para organizar dados pessoais ou da sua empresa, integrar o Python com o Sheets pode ser incrivelmente útil. Existem inúmeras ferramentas e automações que usam Google Sheets como uma base de dados, e saber como acessar essas planilhas com Python te dá o poder de conectar o Google Sheets a praticamente qualquer outro sistema. Isso transforma suas planilhas em uma verdadeira “cola” entre diferentes plataformas, permitindo maior controle e flexibilidade em suas operações.

Ao final deste artigo, você será capaz de:

  • Baixar os dados do Google Sheets: extrair informações diretamente das suas planilhas para análise em Python.
  • Criar um link de compartilhamento dos dados: gerar links de acesso às suas planilhas para facilitar a colaboração.
  • Editar dados na planilha com Python: manipular e atualizar as informações diretamente através de scripts, sem precisar abrir o Google Sheets.
  • Acessar dados protegidos: trabalhar com planilhas protegidas e vinculadas à sua conta do Google, garantindo segurança na manipulação de informações sensíveis.

Com essa integração, seu trabalho se tornará muito mais ágil e integrado, permitindo que você automatize desde relatórios financeiros até a gestão de inventário, tudo com a precisão e a versatilidade do Python. No vídeo abaixo, um dos nossos colegas de trabalho fez uma automatização com seus relatórios de maneira muito simples. Se ficou interessado, clique no vídeo:  

@asimov.academy

Automatize tarefas com Python. Clique em “Saiba Mais” e conheça nossa plataforma.

♬ som original – Asimov Academy – Asimov Academy

Configuração inicial para usar a Google Sheets API com Python

Integrar o Google Sheets com Python pode parecer complexo à primeira vista, mas o processo é bem estruturado e simples de seguir. Para que seu script Python consiga se comunicar com o Google Sheets, o primeiro passo é configurar o projeto no Google Cloud Platform (GCP), onde você vai habilitar a API, criar credenciais de acesso e conectar suas planilhas ao seu código.

A integração entre o Google Sheets e Python começa com a criação de um projeto no GCP. Não se preocupe se você não estiver familiarizado com isso; o GCP oferece uma interface amigável, e vou guiá-lo por cada etapa. 

Passos para configurar o Google Cloud Platform:

  1. Criação do projeto: acesse o Google Cloud Platform e clique em “Criar projeto”. Nomeie o projeto e selecione uma organização, se necessário;
  2. Ativação da Google Sheets API: no menu de APIs, pesquise por “Google Sheets API” e habilite-a para o projeto recém-criado;
  3. Criação de credenciais: para que seu script Python possa acessar as planilhas, será necessário gerar credenciais. Vá até a seção “APIs e Serviços”, clique em “Credenciais” e selecione “Criar credenciais”. Escolha a opção “Conta de Serviço” e defina as permissões apropriadas.

Esses passos são cruciais para que seu código Python consiga interagir com o Google Sheets de forma segura e eficiente, utilizando as APIs do Google para gerenciar suas planilhas.

Integração com planilhas no Google Sheets

Agora que o projeto no Google Cloud está configurado, vamos aplicar a integração com Python. Aqui, a principal função é permitir que o Python acesse, manipule e edite os dados das suas planilhas.

Nível básico: baixando a planilha localmente

O primeiro passo envolve baixar a planilha no formato .csv ou .xlsx. Com o arquivo salvo no seu ambiente de trabalho, você pode usar a biblioteca pandas para ler e manipular os dados.

import pandas as pd

Depois de ter o arquivo salvo e o pandas instalado, você pode usar o seguinte código para ler os dados:

arquivo = 'caminho/para/sua_planilha.xlsx'  # Substitua pelo caminho do seu arquivo

df = pd.read_excel(arquivo)  # Use pd.read_csv se for .csv

print(df.head())  # Exibe as primeiras linhas da planilha

Essa abordagem é bastante simples e permite que você leia e visualize os dados, porém não oferece atualizações automáticas ou acesso em tempo real.

Nível intermediário: acessando o Google Sheets via link de compartilhamento

Se você deseja acessar os dados diretamente do Google Sheets sem precisar baixar o arquivo, pode gerar um link público de compartilhamento. Para isso, vá até a planilha no Google Sheets, clique em “Compartilhar” e selecione a opção “Qualquer pessoa com o link pode visualizar”. Depois, modifique o link gerado, substituindo a parte final por /export?format=csv.

import pandas as pd

url = 'https://docs.google.com/spreadsheets/d/14PG8ysbDTZSv9_bEjmqaNIV1-iMeMaplIBfGnwlmzpM/export?format=csv'
df = pd.read_csv(url)
print(df.head())
Testar

Com o link modificado, você pode usar o código abaixo para ler a planilha diretamente do Google Sheets:

import pandas as pd

# Substitua pelo link da sua planilha compartilhada
url = 'https://docs.google.com/spreadsheets/d/14PG8ysbDTZSv9_bEjmqaNIV1-iMeMaplIBfGnwlmzpM/export?format=csv'

# Lê o arquivo CSV diretamente da URL
df = pd.read_csv(url)

# Exibe as primeiras linhas da planilha
print(df.head())
Testar

Esse método garante que você sempre trabalhe com dados atualizados, mas não permite que você edite a planilha diretamente a partir do Python. Além disso, como o link é público, qualquer pessoa com acesso a ele pode visualizar os dados da planilha, o que pode representar um risco de segurança em alguns cenários.

Nível avançado: acessando planilhas protegidas com contas de serviço

Vamos para a última etapa: a integração avançada! Agora é hora de fazer aquela mágica completa de integração com o Google Sheets, onde você vai poder criar, ler, atualizar e deletar dados diretamente da planilha usando Python (sim, o famoso CRUD!). E, o melhor de tudo: com total segurança, sem precisar deixar a planilha pública. Vamos usar uma conta de serviço do Google, o que garante que só seu código Python, através dessa conta, tenha acesso à planilha.

Essa parte é um pouco mais detalhada, então vamos de passo em passo: 

1. Criar um projeto no Google Cloud

Primeiro de tudo, a gente vai criar um projeto no Google Cloud. Isso é fundamental para habilitar as APIs do Google Sheets e do Google Drive. Sem isso, nosso script não vai conseguir acessar a planilha. Não se preocupe, o plano gratuito do Google Cloud dá conta do recado.

2. Criar uma conta de serviço

Agora vamos criar uma conta de serviço no Google Cloud. Essa conta é como se fosse um “robô” que vai acessar e modificar a planilha em seu nome. O legal é que ela mantém tudo mais seguro, porque você não está usando sua conta pessoal do Google. 

3. Gerar uma chave de acesso

Quando criarmos a conta de serviço, o Google vai gerar um arquivo JSON contendo as credenciais dessa conta. É importante guardar esse arquivo com cuidado, porque ele vai ser usado no nosso código para autenticar o acesso ao Google Sheets. 

Fica a dica: se esse arquivo vazar, qualquer pessoa que tenha ele consegue acessar suas planilhas, então cuidado redobrado aqui!

4. Compartilhar a planilha com a conta de serviço

Por último, vamos abrir o Google Sheets e compartilhar a planilha com o e-mail da conta de serviço (que você encontra lá no Google Cloud). Dê permissão de “Editor” para que ela possa ler e escrever dados.

5. Instalar as bibliotecas necessárias

Agora, no seu ambiente Python, precisamos instalar as bibliotecas que farão a autenticação e a comunicação com o Google Sheets. Para isso, use:

pip install pandas gspread oauth2client

6. Autenticação no Python

Aqui vem a parte divertida! No seu código Python, vamos configurar tudo para conectar na planilha. Abaixo está um exemplo completo de como você pode ler e modificar os dados da planilha.

import gspread
import pandas as pd

from oauth2client.service_account import ServiceAccountCredentials

# Nome do arquivo de credenciais
filename = 'xxx.json'

# Escopos das APIs do Google Sheets e Drive
scopes = [
    "https://spreadsheets.google.com/feeds",
    "https://www.googleapis.com/auth/drive",
]

# Autenticar com a conta de serviço
creds = ServiceAccountCredentials.from_json_keyfile_name(filename=filename, scopes=scopes)
client = gspread.authorize(creds)

# Acessar a planilha pelo nome e ID da pasta
nome_planilha = "Cursos Gratuitos da Asimov"
id_pasta = 'xxxxx'
planilha = client.open(title=nome_planilha, folder_id=id_pasta).get_worksheet(0)

def mostrar_planilha(planilha):
    dados = planilha.get_all_records()
    df = pd.DataFrame(dados)
# Imprime os dados brutos extraídos diretamente da planilha (lista de dicionários) 
   print(dados)
    print('---') 
# Imprime os dados formatados como um DataFrame (tabela organizada)
    print(df)
    print('---')

if __name__ == '__main__':
    # Ler e exibir os dados
    print('READ')
    mostrar_planilha(planilha=planilha)

    # Criar um novo curso
    print('CREATE')
    planilha.update_cell(row=5, col=1, value="Novo Curso")
    planilha.update_acell(label="B7", value=0)
    mostrar_planilha(planilha=planilha)

    # Atualizar informações existentes
    print('UPDATE')
    planilha.update_acell(label="A2", value="Python para todos")
    mostrar_planilha(planilha=planilha)

    # Deletar uma linha
    print('DELETE')
    planilha.delete_rows(4)
    mostrar_planilha(planilha=planilha)

Explicando o código

Para acessar o Google Sheets com as credenciais da conta de serviço, a primeira coisa que fazemos é definir o escopo das permissões necessárias para que o Python consiga interagir com o Google Sheets e o Google Drive. Esse passo é importante para garantir que o script tenha acesso aos recursos que ele precisa.

Depois, carregamos o arquivo de credenciais da conta de serviço naquele arquivo JSON que você baixou ao criar a conta no Google Cloud. Com esse arquivo, conseguimos autenticar o cliente gspread, que é a biblioteca usada no Python para manipular as planilhas.

Após essa autenticação, acessamos a planilha pelo nome e o ID da pasta (que você encontra no final do link da planilha no Google Drive). A partir daí, podemos usar uma série de métodos que permitem manipular os dados:

  • get_all_records(): para ler todos os dados da planilha de uma vez.
  • update_cell() e update_acell(): para atualizar o valor de uma célula específica.
  • delete_rows(): para deletar uma linha inteira da planilha.

Com essas funções, você tem o controle completo (CRUD: Criar, Ler, Atualizar, Deletar) sobre as informações da sua planilha diretamente pelo Python!

Prós e contras das diferentes integrações

NívelPrósContras
BásicoSimplicidade;
Controle local.
Não é em tempo real;
Processo manual.
IntermediárioAcesso aos dados mais atualizadosNão permite editar dados diretamente
AvançadoControle completo;
Edição em tempo real.
Requer configuração mais complexa

Com a integração da Google Sheets API com Python, suas planilhas podem se transformar em ferramentas poderosas de automação e análise de dados, otimizando seu fluxo de trabalho e conectando informações de diferentes sistemas de forma eficiente.

Domine automações com Python!

Agora que você já viu como é possível automatizar qualquer planilha, pare de perder horas preciosas em tarefas repetitivas no escritório! Na Trilha Python Office, você vai aprender, do zero, a automatizar processos como gerenciamento de planilhas, organização de e-mails e até a captura de dados da internet. Tudo isso utilizando Python, uma das linguagens de programação mais versáteis, amplamente adotada por profissionais de todas as áreas.

Você vai descobrir como Python pode criar automações que fazem o trabalho pesado por você, com ganhos de produtividade que podem chegar a até 10x. E o melhor: você não precisa se tornar um programador para começar a aproveitar esses benefícios!

O que você vai aprender?

  • Automatização de planilhas: cansado de mexer em planilhas todos os dias? Aprenda a criar e atualizar automaticamente arquivos do Excel com Python.
  • Processamento de e-mails: automatize o envio, leitura e organização de e-mails. Deixe que o Python baixe anexos, classifique mensagens e até as responda por você.
  • Web scraping: se você precisa extrair dados de sites, essa habilidade vai transformar sua rotina. Com Python, é possível navegar e coletar informações da web automaticamente.
  • Manipulação de arquivos: aprenda a ler e escrever diversos tipos de arquivos (Word, PDF, txt, xml) de forma automatizada, sem esforço manual.
  • Criação de dashboards: descubra como criar dashboards interativos e fáceis de usar para apresentar seus dados de maneira clara e eficiente com o Streamlit.

Comece agora!

Aprender a programar em Python pode parecer desafiador, mas com a Asimov Academy o processo é simples e direto. Você vai ver como pequenas automações podem economizar tempo e energia em tarefas que costumam ser maçantes.

Comece sua jornada de automação agora mesmo com a Trilha Python Office e deixe o computador trabalhar para você!

Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov