Lädt...

🔧 Explorando a integração entre Google Sheets e Python para automação de dados no sheets


Nachrichtenbereich: 🔧 Programmierung
🔗 Quelle: dev.to

Integrar o poder do Python com a funcionalidade colaborativa do Google Sheets oferece uma solução eficiente para automatizar tarefas relacionadas a planilhas. Neste artigo, vamos explorar um código Python que utiliza a biblioteca gspread para conectar e manipular planilhas do Google.

Você pode clonar este projeto aqui: GitHub

Pré-Requisitos

Antes de começarmos, certifique-se de ter o Python instalado em seu ambiente. Além disso, instale as bibliotecas necessárias usando o seguinte comando:

pip install gspread pandas

Configuração das credenciais

Para acessar as planilhas do Google, precisamos criar um arquivo JSON de credenciais no Console de Desenvolvedor do Google Cloud e compartilhá-lo com o seu serviço. Certifique-se de ter configurado as permissões necessárias nas APIs correspondentes.

import gspread
import pandas as pd
from google.oauth2 import service_account
from google.auth.transport.requests import Request
import os

jsonFile = os.path.join(os.path.dirname(__file__), 'SUAS_CREDENCIAIS')

credentials = service_account.Credentials.from_service_account_file(jsonFile, 
                                                                   scopes=['https://www.googleapis.com/auth/spreadsheets', 'https://www.googleapis.com/auth/drive'])

gc = gspread.authorize(credentials)

Conectar-se às Planilhas

Agora, vamos abrir as planilhas de origem e destino. No exemplo abaixo, a planilha de origem é aberta pelo nome, enquanto a planilha de destino é acessada pelo seu ID. Você pode acessar planilhas localmente usando o pandas

workSheetSource = gc.open('CAMINHO_DA_PLANILHA')
workSheetDestination = gc.open_by_key('ID_DA_PLANILHA')

sheetSource = workSheetSource.worksheet('Página1')
sheetDestination = workSheetDestination.worksheet('Página1')

Manipulação e Atualização dos Dados

O próximo passo envolve a leitura dos dados da planilha de origem, sua manipulação usando a biblioteca Pandas e a atualização da planilha de destino

data = sheetSource.get_all_values()
chunkSize = len(data)

chunks = [data[1:1 + chunkSize] for i in range(0, len(data), chunkSize)] 

df = pd.DataFrame(chunks[0], columns=chunks[0][0])

sheetDestination.clear()
sheetDestination.update([df.columns.values.tolist()] + df.values.tolist())

for chunk in chunks[1:]:
    df = pd.DataFrame(chunk, columns=chunk[0])
    sheetDestination.append_rows(df.values.tolist())

print(f'Done {chunkSize} rows updated.')

E adicionamos um print para imprimir no console o resultado :)

print(f'Done {chunkSize} rows updated.')

Conclusão

Este script Python realiza a leitura de uma planilha de origem, quebrando os dados em chunks, manipulando-os usando a Pandas e, finalmente, atualizando uma planilha de destino no Google Sheets. Isso é especialmente útil para casos em que dados são gerados externamente e precisam ser refletidos em tempo real em uma planilha compartilhada.

Esse exemplo é um ponto de partida para automações mais complexas e é fácil de adaptar conforme suas necessidades específicas. Experimente e veja como essa integração pode tornar suas tarefas relacionadas a planilhas mais eficientes e automatizadas.

...

🔧 Explorando a integração entre Google Sheets e Python para automação de dados no sheets


📈 143.49 Punkte
🔧 Programmierung

🔧 Guia Completo: Construindo um Bot Seguro de Integração entre Telegram e MetaTrader5 em Python


📈 46.72 Punkte
🔧 Programmierung

🔧 Automação de Coleta de Dados de CNPJ com Python utilizando ReceitaWS


📈 45.79 Punkte
🔧 Programmierung

🔧 Teste de Integração com Banco de Dados


📈 39.79 Punkte
🔧 Programmierung

🔧 🌟 Python na Ciência de Dados e Visão Computacional: Desvendando o Poder dos Dados 🌟


📈 37.89 Punkte
🔧 Programmierung

🔧 SQL e Ruby: Explorando Banco de Dados Além do Rails ActiveRecord


📈 37.24 Punkte
🔧 Programmierung

🔧 Cogumelos Mágicos: explorando e tratando dados nulos com Mage


📈 37.24 Punkte
🔧 Programmierung

🔧 Explorando ORM: Facilitando o Desenvolvimento com Bancos de Dados


📈 37.24 Punkte
🔧 Programmierung

🔧 Automação para formulários Google


📈 36.2 Punkte
🔧 Programmierung

🔧 Entendendo props e useState no React: Como Passar e Gerenciar Dados Entre Componentes


📈 34.9 Punkte
🔧 Programmierung

🔧 Entenda a diferença entre modelo conceitual e modelo lógico em Banco de Dados


📈 34.9 Punkte
🔧 Programmierung

🔧 Melhores práticas para criação e automação de testes E2E


📈 34.59 Punkte
🔧 Programmierung

🔧 Como Desenvolvi uma Automação de Atendimento com Agente de IA para uma Clínica de Depilação a Laser


📈 34.59 Punkte
🔧 Programmierung

🔧 Utilizando GitLab snippets para automação de criação de projetos React


📈 34.59 Punkte
🔧 Programmierung

🔧 Implementando uma Lambda com GitLab CI/CD e Terraform para Integração SFTP, S3 e Databricks em Go


📈 33.55 Punkte
🔧 Programmierung

🔧 Explorando o Google Colab: Seu Aliado para Codificar Modelos de Machine Learning


📈 32.61 Punkte
🔧 Programmierung

🔧 🐍Como Importar Dados do Excel para SQLite com Python em Poucas Linhas


📈 31.66 Punkte
🔧 Programmierung

🔧 Guia Completo: Construindo um Script Seguro para Análise de Dados no MetaTrader5 com Python


📈 31.66 Punkte
🔧 Programmierung

🔧 Guia Básico para tratar dados com Pandas em Python


📈 31.66 Punkte
🔧 Programmierung

🔧 Explorando Técnicas de Prompting para Modelos de IA


📈 31 Punkte
🔧 Programmierung

🔧 Explorando Técnicas de Prompting para Modelos de IA


📈 31 Punkte
🔧 Programmierung

🔧 Automação de Daily no Slack com GitHub Actions e Python


📈 29.33 Punkte
🔧 Programmierung

🔧 Gerando Dados Falsos para Testes com Bogus


📈 26.7 Punkte
🔧 Programmierung

🔧 Desvendando os Tipos de Dados SQL: Como Escolher o Melhor para Cada Situação


📈 26.7 Punkte
🔧 Programmierung

🔧 Desvendando os Tipos de Dados SQL: Como Escolher o Melhor para Cada Situação


📈 26.7 Punkte
🔧 Programmierung

🔧 Dockerizando uma API Express.js com Banco de Dados PostgreSQL para Testes e Produção


📈 26.7 Punkte
🔧 Programmierung

🔧 Criar massa de dados para teste


📈 26.7 Punkte
🔧 Programmierung

🔧 Docker para iniciantes: Criando Containers de Bancos de Dados


📈 26.7 Punkte
🔧 Programmierung

🔧 Criei um hook personalizado para buscar dados da API do Rick and Morty com React Query


📈 26.7 Punkte
🔧 Programmierung

matomo