Como Atualizar Google Sheets Usando Python e SQLite
Se você costuma transferir dados manualmente de um banco de dados local para uma planilha do Google, sabe como esse processo pode ser repetitivo e sujeito a erros. Automatizar essa tarefa com Python e SQLite é uma solução prática, eficiente e segura. Neste artigo, você aprenderá a conectar um banco SQLite à API do Google Sheets e atualizar automaticamente os dados na planilha, sem duplicações.
Por que Automatizar a Atualização de Planilhas?
A automação evita desperdício de tempo, garante precisão e ajuda a manter a consistência dos dados. Quando aplicada corretamente, ela reduz falhas humanas e acelera a tomada de decisões baseada em dados atualizados em tempo real.
Pré-Requisitos
- Uma conta Google com acesso ao Google Cloud Console.
- Python instalado (preferencialmente versão 3.8 ou superior).
- Bibliotecas
google-api-python-client
egoogle-auth
instaladas. - Um banco de dados local SQLite com uma tabela de dados.
Passo 1: Gerar Credenciais de Acesso
Para usar a API do Google Sheets, você precisa de credenciais de uma conta de serviço:
- Acesse o Google Cloud Console e crie um novo projeto.
- Vá até “APIs e serviços” > “Biblioteca”, busque por Google Sheets API e ative-a.
- Crie uma conta de serviço em “Credenciais” e baixe o arquivo JSON com as chaves.
- Compartilhe a planilha desejada com o e-mail gerado da conta de serviço (ex:
minha-conta@projeto.iam.gserviceaccount.com
).
Passo 2: Preparar o Banco de Dados SQLite
Crie uma tabela em seu banco chamada MEDIA
, com uma coluna chamada enviado
(valores 0 ou 1) para indicar o status de envio.
Passo 3: Script Python para Atualizar Google Sheets
A seguir, um exemplo básico de como conectar ao Google Sheets e enviar dados do SQLite:
import sqlite3
from google.oauth2 import service_account
from googleapiclient.discovery import build
# Autenticação e configuração
credenciais = service_account.Credentials.from_service_account_file('sheet.json')
servico_planilhas = build('sheets', 'v4', credentials=credenciais)
spreadsheet_id = 'SEU_ID_DA_PLANILHA'
range_ = 'aliexpress!A1'
value_input_option = 'RAW'
# Conexão com o banco SQLite
conn = sqlite3.connect('produtos.db')
cursor = conn.cursor()
# Selecionar registros ainda não enviados
cursor.execute('SELECT * FROM MEDIA WHERE enviado = 0')
dados = cursor.fetchall()
# Preparar dados para envio
novos_dados = []
valores_enviados = []
for dado in dados:
if dado[1] not in valores_enviados:
novos_dados.append([str(campo) for campo in dado])
valores_enviados.append(dado[1])
cursor.execute('UPDATE MEDIA SET enviado = 1 WHERE id = ?', (dado[0],))
# Enviar dados à planilha
if novos_dados:
corpo = {'values': novos_dados}
servico_planilhas.spreadsheets().values().append(
spreadsheetId=spreadsheet_id,
range=range_,
valueInputOption=value_input_option,
body=corpo
).execute()
conn.commit()
conn.close()
Benefícios de Usar Python com Google Sheets
- Eficiência: Automatiza tarefas manuais.
- Precisão: Evita duplicações e erros de digitação.
- Controle: Garante que apenas registros novos sejam adicionados.
- Escalabilidade: Pode ser integrado a outras fontes de dados facilmente.
Melhores Práticas
- Use um log de execução para monitorar erros ou falhas no script.
- Verifique se a planilha possui colunas compatíveis com os dados do SQLite.
- Crie backups periódicos da planilha e do banco de dados.
Documentação Oficial
Para mais detalhes técnicos sobre a integração com o Google Sheets, acesse a documentação oficial.
Esse tipo de automação pode ser especialmente útil para e-commerces, analistas de dados ou pequenos empreendedores que precisam manter relatórios atualizados com dados confiáveis.
Ficou com dúvidas? Deixe seu comentário abaixo!