image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Ariel Riello
Ariel Riello16/03/2025 02:44
Compartilhe
Nexa - Análise Avançada de Imagens e Texto com IA na AWSRecomendados para vocêNexa - Análise Avançada de Imagens e Texto com IA na AWS

Excel sem Limites: A Revolução da Integração com Python

  • #Excel

📌 Índice 📌

Excel sem Limites: A Revolução da Integração com Python
├── 📝 Introdução
├── 🐍 Integração com Python
├── 🛠️ Automação de Processos e Tarefas Repetitivas
├── 📈 Análises Avançadas e Modelagem de Dados
├── 🤖 Machine Learning e Inteligência Artificial
├── 🌐 Integração com APIs e Banco de Dados
├── 🔍 Análise de Textos e Processamento de Linguagem Natural (NLP)
├── 🔐 Segurança e Automação de Relatórios
├── 🎯 Conclusão
├── 📚 Bibliotecas Python mencionadas no artigo
├── 🔗 Fontes
└── 🙏 Agradecimento

📝Introdução 📝

Por três anos, trabalhei na área administrativa financeira de uma empresa, onde precisava criar diversas planilhas de controle. No início, ainda estava na camada superficial do Excel, criando planilhas apenas para armazenar e visualizar informações. Com o tempo, fui descobrindo o potencial da ferramenta, começando com fórmulas simples, como =SOMA() e =MÉDIA(), que se tornaram parte do meu cotidiano. Logo, comecei a explorar fórmulas condicionais, como =SE(), e até mesmo combiná-las para criar filtros mais elaborados.

À medida que ganhava mais experiência, descobri a magia das tabelas dinâmicas. Criar botões com filtros personalizados, gráficos interativos e funcionalidades automatizadas mudou completamente o nível das minhas planilhas. Foi nesse momento que percebi o incrível potencial do Excel e entrei no vasto universo dos dashboards dinâmicos.

Com o tempo, minha trajetória profissional migrou para a área de programação, e escolhi Python como meu ponto de partida. Sempre tive interesse por análise de dados e, por meio de diversos cursos da DIO, aprofundei meus conhecimentos em Python aplicado a esse campo. Quando finalmente consegui um emprego na área, fui designado para trabalhar com correções em bancos de dados e automatização de processos. Foi nesse momento que descobri o verdadeiro potencial da integração entre Excel e Python.

Então, vi a oportunidade de compartilhar neste artigo algumas das inúmeras possibilidades dessa combinação, mostrando como a integração entre essas duas ferramentas rompe os limites tradicionais do Excel e o transforma em uma ferramenta sem limites.

🐍 Integração com Python 🐍

Primeiramente, vamos falar um pouco sobre as maneiras de realizar essa integração.

🟢 Python no Excel

A integração do Python ao Excel foi introduzida nas versões 2408/2405. Essa funcionalidade permite escrever e executar códigos Python diretamente nas células do Excel e está disponível na assinatura da versão Microsoft 365.

🟢 Gerando arquivos .XLSX

Para gerar arquivos XLSX no Python, você pode utilizar as bibliotecas openpyxl, pandas ou XlsxWriter. Essas bibliotecas permitem criar e manipular planilhas do Excel de forma eficiente

from openpyxl import Workbook
import pandas as pd
import xlsxwriter

# Criando planilha vazia com openpyxl
wb = Workbook()
wb.save("openpyxl.xlsx")

# Criando planilha vazia com pandas
df = pd.DataFrame()
df.to_excel("pandas.xlsx", index=False)

# Criando planilha vazia com XlsxWriter
wb_xlsxwriter = xlsxwriter.Workbook("xlsxwriter.xlsx")
wb_xlsxwriter.close()

🟢 Criar planilhas em nuvem com Google Sheets

A API Google Sheets é uma interface RESTful que permite ler e modificar os dados de uma planilha. Com a API Sheets, você pode:

  •    Criar planilhas
  •    Ler e gravar valores em células
  •    Atualizar a formatação da planilha
  •    Gerenciar páginas conectadas

Você pode integrá-la facilmente com Python, permitindo baixar as planilhas em formato XLSX ou compartilhá-las.

Essa função foi retirada de uma aplicação que desenvolvi no trabalho. Ela serve para conectar à API do Google Sheets e Google Drive, tanto localmente, em um ambiente de desenvolvimento utilizando um arquivo JSON, quanto em um ambiente de produção, onde as credenciais são armazenadas em uma variável de ambiente. No caso, a aplicação está hospedada no Heroku.

import os
from googleapiclient.discovery import build
from google.oauth2.service_account import Credentials

def initialize_google_drive_service():
  SCOPES = ['https://www.googleapis.com/auth/drive']
  SERVICE_ACCOUNT_FILE = get_service_account_file()
  creds = Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
  return build('drive', 'v3', credentials=creds)

def initialize_google_sheets_service():
  SCOPES = ['https://www.googleapis.com/auth/spreadsheets']
  SERVICE_ACCOUNT_FILE = get_service_account_file()
  creds = Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
  return build('sheets', 'v4', credentials=creds)

def get_service_account_file():
  if os.path.exists("service-account-example.json"):
      return "service-account-example.json"
  credentials_json = os.getenv("GOOGLE_CREDENTIALS_JSON")
  if credentials_json:
      with open("/tmp/service_account.json", "w") as f:
          f.write(credentials_json)
      return "/tmp/service_account.json"
  raise ValueError("Credenciais do Google não encontradas!")

🛠️ Automação de Processos e Tarefas Repetitivas 🛠️

image

Quem nunca passou horas dando Ctrl+C e Ctrl+V em valores, ajustando fórmulas e aplicando filtros manualmente no Excel? Esse processo já é cansativo em pequenas planilhas e, quando precisamos lidar com grandes volumes de dados, torna-se inviável. É nesse contexto que o Python entra como a solução mágica.

Com Python, é possível automatizar cálculos, juntar informações de diferentes fontes e processar grandes quantidades de dados sem esforço manual. Além disso, essa integração permite executar tarefas recorrentes de maneira programada e automática, eliminando erros e otimizando fluxos de trabalho.

A automação pode ser aplicada tanto em arquivos locais, utilizando ferramentas como pandas e openpyxl, quanto em planilhas compartilhadas na nuvem, por meio da Google Sheets API e Google Drive API. Além da manipulação de células e planilhas, o Python pode interagir com macros VBA, permitindo que scripts sejam acionados diretamente dentro do Excel, ampliando ainda mais as possibilidades de automação.

📚 Bibliotecas para Automação no Excel
  • pandas → Manipulação eficiente de tabelas e dados estruturados
  • openpyxl → Leitura e edição de arquivos .xlsx
  • xlwings → Automação de tarefas e integração com macros VBA
  • Google Sheets API → Edição e atualização de planilhas na nuvem
  • Google Drive API → Armazenamento e compartilhamento de planilhas online

Com essas ferramentas, tarefas repetitivas que antes consumiam horas podem ser realizadas em segundos, tornando o Excel uma ferramenta muito mais eficiente.

📝Exemplo:

Este código faz parte de uma aplicação que desenvolvi para uso no trabalho, onde automatizo a geração de relatórios de inventário no Google Sheets usando a API do Google Drive e Google Sheets.

from models.google_models import initialize_google_sheets_service, initialize_google_drive_service
from scripts.INVENTORY_REPORT_SCRIPT.universal_inventory_report_script import generate_data_frame

# Inicializa os serviços do Google Sheets e Google Drive
def initialize_services():
  sheets_service = initialize_google_sheets_service()
  drive_service = initialize_google_drive_service()
  return sheets_service, drive_service

# Verifica se uma planilha com o nome especificado já existe na pasta do Google Drive
def check_if_sheet_exists(drive_service, id_pasta, nome_planilha):
  query = f"'{id_pasta}' in parents and name='{nome_planilha}' and mimeType='application/vnd.google-apps.spreadsheet'"
  response = drive_service.files().list(q=query).execute()
  arquivos = response.get('files', [])
  return arquivos[0]['id'] if arquivos else None  # Retorna o ID da planilha se existir, caso contrário, retorna None

# Cria uma nova planilha no Google Drive dentro da pasta especificada
def create_new_sheet(drive_service, id_pasta, nome_planilha):
  nova_planilha = {
      'name': nome_planilha,
      'mimeType': 'application/vnd.google-apps.spreadsheet',
      'parents': [id_pasta]
  }
  arquivo_criado = drive_service.files().create(body=nova_planilha, fields='id').execute()
  return arquivo_criado.get('id')  # Retorna o ID da nova planilha criada

# Limpa os dados existentes na planilha, garantindo que ela esteja vazia antes da atualização
def clear_sheet_data(sheets_service, planilha_id):
  sheets_service.spreadsheets().values().clear(
      spreadsheetId=planilha_id,
      range="Sheet1"  # Limpa os dados da primeira aba da planilha
  ).execute()
  print("Existing data cleared from the sheet.")

# Atualiza a planilha com os novos dados fornecidos no DataFrame
def update_sheet_data(sheets_service, planilha_id, df):
  valores = [df.columns.tolist()] + df.values.tolist()  # Converte DataFrame para formato aceito pelo Google Sheets
  sheets_service.spreadsheets().values().update(
      spreadsheetId=planilha_id,
      range="Sheet1",
      valueInputOption="RAW",
      body={"values": valores}
  ).execute()

# Gera e salva o relatório de inventário no Google Sheets
def save_inventory_report(id_conta="EXEMPLO_ID_CONTA", id_pasta="EXEMPLO_ID_PASTA", data="YYYY-MM-DD"):
  df = generate_data_frame(id_conta, data, data)  # Gera o DataFrame com os dados do inventário
  sheets_service, drive_service = initialize_services()  # Inicializa os serviços da API do Google

  nome_planilha = f"Relatorio_Inventarios_{data.replace('-', '')}"  # Define o nome da planilha com a data

  # Verifica se a planilha já existe, caso contrário, cria uma nova
  planilha_id = check_if_sheet_exists(drive_service, id_pasta, nome_planilha)
  if not planilha_id:
      planilha_id = create_new_sheet(drive_service, id_pasta, nome_planilha)
      print(f"New sheet created: {nome_planilha}")
  else:
      print(f"Existing sheet found: {nome_planilha}, clearing data...")
      clear_sheet_data(sheets_service, planilha_id)  # Limpa os dados caso a planilha já exista

  update_sheet_data(sheets_service, planilha_id, df)  # Atualiza a planilha com os novos dados
  print(f"Data successfully inserted into the sheet: {nome_planilha}")

  return planilha_id  # Retorna o ID da planilha criada ou atualizada

O código foi adaptado com placeholders genéricos para ser usado como exemplo sem expor informações sensíveis. Ele pode ser facilmente ajustado para diferentes cenários onde seja necessário registrar e atualizar dados em planilhas do Google automaticamente.

📊 Análises Avançadas e Modelagem de Dados 📊

image

O Excel é uma ferramenta poderosa para análise de dados, mas possui limitações ao lidar com grandes volumes de informação ou cálculos complexos. Com Python, essas barreiras podem ser superadas, permitindo um tratamento de dados mais eficiente, modelagem estatística avançada e geração de insights detalhados.

O Python facilita a limpeza e organização de dados, eliminando valores duplicados, corrigindo erros de formatação e lidando com dados ausentes de forma automatizada.

Inclusive, essa é uma das tarefas que mais realizo no meu trabalho atualmente.

Além disso, possibilita estatísticas descritivas e modelagem preditiva, permitindo uma análise mais aprofundada das informações. Outro grande diferencial é a capacidade de criar visualizações interativas e personalizadas, utilizando bibliotecas especializadas para gerar gráficos dinâmicos que complementam relatórios e dashboards no Excel.

📚 Bibliotecas para Análise e Modelagem de Dados
  • pandas → Manipulação e estruturação de dados em tabelas
  • numpy → Cálculos estatísticos e computação numérica
  • matplotlib → Criação de gráficos e visualizações básicas
  • seaborn → Visualizações estatísticas avançadas
  • plotly → Criação de gráficos interativos e painéis dinâmicos
  • dash → Desenvolvimento de dashboards interativos integrados ao Excel
  • openpyxl → Inserção de gráficos diretamente dentro de planilhas Excel

Com essas ferramentas, o Excel se torna mais ágil, preciso e capaz de lidar com análises complexas de forma automatizada.

📝Exemplo:

Esse é um exemplo simples, mas foi utilizado no meu trabalho para automatizar a organização de dados em uma planilha. Ele identifica e remove registros duplicados com base nos campos 'ean' e 'descricao', gerando uma planilha com os dados filtrados e outra com os registros removidos.

import pandas as pd
from datetime import datetime

def processar_categorias(original_file):
  # Obter a data atual no formato ddmmaaaa
  data_atual = datetime.today().strftime("%d%m%Y")

  # Carregar a planilha original
  df_original = pd.read_excel(original_file, sheet_name='Sheet1')

  # Ordenar os dados
  df_sorted = df_original.sort_values(by=df_original.columns.tolist(), ascending=False)

  # Identificar e separar os duplicados
  df_duplicates = df_sorted[df_sorted.duplicated(subset=['ean', 'descricao'], keep='first')]
  df_filtered = df_sorted.drop_duplicates(subset=['ean', 'descricao'], keep='first')

  # Definir os nomes dos arquivos com a data atual
  file_filtered = f"Categorias_Filtradas_{data_atual}.xlsx"
  file_duplicates = f"Categorias_Removidas_{data_atual}.xlsx"

  # Salvar as planilhas
  df_filtered.to_excel(file_filtered, index=False)
  df_duplicates.to_excel(file_duplicates, index=False)

  print(f"Planilhas '{file_filtered}' e '{file_duplicates}' foram geradas com sucesso.")

processar_categorias("Categorias_DB_18022025.xlsx")

🤖 Machine Learning e Inteligência Artificial 🤖

image

O Excel é amplamente utilizado para análise de dados, mas suas funcionalidades são limitadas quando se trata de previsões e detecção de padrões avançados. Com a integração do Python, é possível aplicar técnicas de Machine Learning (ML) e Inteligência Artificial (IA) para transformar planilhas em ferramentas preditivas e analíticas.

Com Python, podemos criar modelos de regressão, classificação e clusterização para identificar tendências e padrões em grandes conjuntos de dados. Isso permite prever vendas futuras, detectar fraudes, analisar comportamento de clientes e muito mais.

A implementação de Machine Learning no Excel permite que modelos sejam treinados e aplicados diretamente nos dados da planilha, sem necessidade de softwares externos. Além disso, é possível automatizar todo o fluxo, garantindo que novos dados sejam analisados em tempo real.

📚 Bibliotecas para Machine Learning e IA
  • scikit-learn → Modelos de aprendizado de máquina (regressão, classificação, clusterização)
  • tensorflow → Construção de redes neurais e modelos mais avançados
  • pandas → Manipulação e preparação de dados para treinamento de modelos
  • numpy → Operações matemáticas e vetorização de cálculos

Com essas ferramentas, a integração entre Excel e Python eleva a capacidade de análise para um nível preditivo, tornando a tomada de decisões muito mais estratégica e baseada em dados reais.

🌐 Integração com APIs e Banco de Dados 🌐

image

O Excel, por si só, não possui suporte nativo para conexões diretas com APIs externas e bancos de dados, o que pode limitar a obtenção e o armazenamento de informações. Com Python, é possível integrar planilhas a fontes de dados externas, permitindo que informações sejam coletadas, atualizadas e sincronizadas automaticamente.

A integração com APIs possibilita importar dados financeiros, cotações de moedas, informações de sistemas internos e até mesmo dados climáticos diretamente para o Excel. Além disso, a conexão com bancos de dados SQL e NoSQL permite armazenar e recuperar grandes volumes de informações sem a necessidade de manipulação manual.

Outro benefício dessa integração é a automação de processos administrativos, como o envio de dados para servidores, a extração de relatórios de sistemas e a sincronização de informações entre diferentes plataformas.

📚 Bibliotecas para Integração com APIs e Banco de Dados
  • requests → Comunicação com APIs REST e consumo de dados externos
  • sqlalchemy → Conexão e manipulação de bancos de dados SQL
  • pymongo → Integração com bancos de dados NoSQL (MongoDB)
  • gspread → Acesso e edição de planilhas no Google Sheets via API

Com essas ferramentas, o Excel se torna uma plataforma dinâmica e conectada, eliminando a necessidade de atualizações manuais e garantindo que os dados estejam sempre atualizados e acessíveis.

📝Exemplo:

Este é outro exemplo de um programa que desenvolvi para utilizar no meu trabalho. Ele verifica a existência de uma lista de IDs armazenados em um arquivo Excel (.xlsx) dentro de uma coleção específica no MongoDB. O código realiza a busca com base no id_cliente, garantindo que apenas os registros pertencentes a um determinado cliente sejam considerados.

import os
import pandas as pd
from pymongo import MongoClient
from tqdm import tqdm

def verificar_ids_no_mongo(excel_path, sheet_name, column_name, collection_name, id_cliente, output_path_encontrados, output_path_nao_encontrados):

  # Obtém a URI de conexão ao MongoDB a partir das variáveis de ambiente
  mongo_uri = os.getenv('MONGO_DB_CONNECTION')
  client = MongoClient(mongo_uri)
  db = client['meuBanco']
  collection = db[collection_name]

  # Verifica se o arquivo Excel existe e não está vazio
  if not os.path.exists(excel_path) or os.path.getsize(excel_path) == 0:
      print(f"Erro: O arquivo {excel_path} não existe ou está vazio.")
      return

  try:
      # Carrega os dados do Excel para um DataFrame do pandas
      df = pd.read_excel(excel_path, sheet_name=sheet_name, dtype=str)
  except Exception as e:
      print(f"Erro ao ler o arquivo Excel: {e}")
      return

  # Verifica se a coluna especificada existe no DataFrame
  if column_name not in df.columns:
      print(f"Erro: A coluna '{column_name}' não foi encontrada no arquivo Excel.")
      return

  # Obtém os IDs da coluna, removendo valores nulos e duplicados
  ids = df[column_name].dropna().astype(str).unique().tolist()

  if not ids:
      print("Erro: O arquivo Excel não contém nenhum `_id` válido.")
      return

  encontrados = []  # Lista para armazenar os IDs encontrados no MongoDB
  nao_encontrados = []  # Lista para armazenar os IDs não encontrados

  print(f"\nVerificando {len(ids)} IDs na coleção '{collection_name}' para id_cliente: {id_cliente}...\n")

  # Itera sobre os IDs e verifica se estão na coleção do MongoDB
  for item_id in tqdm(ids, desc="Processando", unit="item"):
      result = collection.find_one({"_id": item_id, "id_cliente": id_cliente})

      if result:
          encontrados.append({"_id": item_id, "id_cliente": id_cliente})
      else:
          nao_encontrados.append({"_id": item_id, "id_cliente": id_cliente})

  # Se houver IDs encontrados, salva em um arquivo Excel
  if encontrados:
      df_encontrados = pd.DataFrame(encontrados)
      df_encontrados.to_excel(output_path_encontrados, index=False)
      print(f"\nArquivo gerado: {output_path_encontrados}")

  # Se houver IDs não encontrados, salva em outro arquivo Excel
  if nao_encontrados:
      df_nao_encontrados = pd.DataFrame(nao_encontrados)
      df_nao_encontrados.to_excel(output_path_nao_encontrados, index=False)
      print(f"\nArquivo gerado: {output_path_nao_encontrados}")


# Definição dos parâmetros do programa
excel_path = "ids_para_verificacao.xlsx"  # Caminho do arquivo Excel contendo os IDs
sheet_name = "Planilha1"  # Nome da aba no Excel
column_name = "id_verificacao"  # Nome da coluna onde os IDs estão armazenados
collection_name = "colecao_dados"  # Nome da coleção do MongoDB
id_cliente = os.getenv("ID_CLIENTE")  # Obtém o ID do cliente das variáveis de ambiente
output_path_encontrados = "ids_encontrados.xlsx"  # Arquivo de saída para IDs encontrados
output_path_nao_encontrados = "ids_nao_encontrados.xlsx"  # Arquivo de saída para IDs não encontrados

# Chamada da função principal
verificar_ids_no_mongo(excel_path, sheet_name, column_name, collection_name, id_cliente, output_path_encontrados, output_path_nao_encontrados)

🔍 Análise de Textos e Processamento de Linguagem Natural (NLP) 🔍

image

O Excel é tradicionalmente utilizado para análise de dados numéricos, mas, com Python, é possível expandir suas capacidades para a análise de textos, extraindo informações valiosas de documentos, feedbacks e e-mails.

Com técnicas de Processamento de Linguagem Natural (NLP), o Python permite classificar textos automaticamente, identificar palavras-chave, analisar sentimentos e até mesmo traduzir conteúdos dentro de uma planilha do Excel. Isso é especialmente útil para empresas que precisam lidar com grandes volumes de comentários, avaliações de clientes ou mensagens.

Além disso, a combinação de Excel e NLP facilita a segmentação de e-mails, categorização de documentos e análise de tendências de mercado com base em menções e interações textuais.

📚 Bibliotecas para Análise de Textos e NLP
  • nltk → Processamento de linguagem natural e análise de palavras
  • spaCy → Modelo avançado para extração e estruturação de textos
  • textblob → Classificação de sentimentos e análise gramatical
  • pandas → Manipulação de dados textuais dentro de planilhas
  • re (expressões regulares) → Extração e limpeza de textos em colunas do Excel

Com essas ferramentas, o Excel se torna capaz de interpretar e processar dados textuais automaticamente.

🔐 Segurança e Automação de Relatórios 🔐

image

A segurança dos dados é um fator essencial quando lidamos com planilhas que contêm informações sensíveis. O Excel, por padrão, não oferece mecanismos avançados de proteção, mas, com Python, é possível criptografar arquivos, controlar acessos e automatizar o envio seguro de relatórios.

Além disso, a automação permite que relatórios sejam gerados e enviados por e-mail de forma programada, garantindo que as partes interessadas sempre tenham acesso às informações atualizadas, sem necessidade de intervenção manual.

Para reforçar a integridade dos arquivos e garantir que não foram alterados, podemos utilizar algoritmos de hash, como o SHA-256, que geram uma assinatura digital única para cada arquivo. Assim, qualquer modificação nos dados pode ser detectada imediatamente, aumentando a confiabilidade das informações.

Com a integração com APIs, também é possível salvar backups automáticos no Google Drive ou em servidores seguros, prevenindo perdas de dados e garantindo conformidade com normas de segurança.

📚 Bibliotecas para Segurança e Automação de Relatórios
  • cryptography → Criptografia e proteção de arquivos Excel
  • smtplib → Envio automático de e-mails com relatórios anexados
  • PyPDF2 → Conversão e proteção de relatórios em formato PDF
  • Google Drive API → Backup seguro de planilhas na nuvem
  • openpyxl → Configuração de permissões e proteção de células
  • hashlib → Geração de hashes SHA-256 para garantir a integridade dos arquivos

Com essas ferramentas, é possível garantir a segurança dos dados, automatizar a distribuição de relatórios e otimizar o armazenamento de informações, garantindo proteção contra alterações não autorizadas e prevenindo perdas de dados.

📝Exemplo:

Este código é um exemplo prático para comparar arquivos utilizando hash SHA-256. Ele contém duas funções principais:

  1. exibir_hash_arquivo(arquivo) – Calcula e retorna o hash SHA-256 de um arquivo, permitindo verificar sua integridade.
  2. comparar_hash_arquivos(arquivo1, arquivo2) – Compara os hashes de dois arquivos e indica se são idênticos ou diferentes.
import hashlib


def exibir_hash_arquivo(arquivo):
  # Inicializa o objeto de hash SHA-256
  sha256 = hashlib.sha256()
  
  try:
      # Abre o arquivo em modo binário para leitura
      with open(arquivo, "rb") as f:
          # Lê o arquivo em blocos para eficiência e atualiza o hash
          while chunk := f.read(4096):
              sha256.update(chunk)
      # Retorna o hash calculado em formato hexadecimal
      return sha256.hexdigest()
  except FileNotFoundError:
      # Retorna erro caso o arquivo não seja encontrado
      print(f"Erro: O arquivo '{arquivo}' não foi encontrado.")
      return None

def comparar_hash_arquivos(arquivo1, arquivo2):
  # Gera o hash para o primeiro arquivo
  hash1 = exibir_hash_arquivo(arquivo1)
  # Gera o hash para o segundo arquivo
  hash2 = exibir_hash_arquivo(arquivo2)

  # Se algum dos hashes for None, a comparação não pode ser feita
  if hash1 is None or hash2 is None:
      return False

  # Retorna True se os hashes forem iguais, indicando que os arquivos são idênticos
  return hash1 == hash2

# Exemplo de uso
arquivo_a = "arquivo1.xlsx"
arquivo_b = "arquivo2.xlsx"

# Exibir o hash do primeiro arquivo
hash_a = exibir_hash_arquivo(arquivo_a)
print(f"Hash de {arquivo_a}: {hash_a}")

# Exibir o hash do segundo arquivo
hash_b = exibir_hash_arquivo(arquivo_b)
print(f"Hash de {arquivo_b}: {hash_b}")

# Comparar os arquivos e mostrar o resultado
if comparar_hash_arquivos(arquivo_a, arquivo_b):
  print("Os arquivos são idênticos.")
else:
  print("Os arquivos são diferentes.")

Saída no terminal:

image

image

Esse método é útil para detectar alterações em arquivos e garantir sua autenticidade.

🎯 Conclusão 🎯

image

A integração entre Excel e Python expande significativamente o potencial da ferramenta. Combinando apenas algumas das possibilidades mencionadas, já podemos criar soluções empresariais completas, minimizar erros e garantir a segurança e integridade das informações.

🚀🚀🚀 O Excel sem limites já é uma realidade, e o Python é a chave para essa transformação! 🚀🚀🚀

📚 Bibliotecas Python mencionadas no artigo 📚

image

📚 Bibliotecas Python:
├── 🔐 cryptography
│   ├── Implementação de algoritmos de criptografia simétrica e assimétrica, incluindo AES e RSA.
│   └── 📄 https://cryptography.io/en/latest/
│
├── 📊 dash
│   ├── Framework para criação de dashboards interativos e aplicações web de análise de dados baseadas em Flask e Plotly.
│   └── 📄 https://dash.plotly.com/
│
├── ☁️ Google Drive API
│   ├── Upload, download e gerenciamento de arquivos no Google Drive via requisições HTTP.
│   └── 📄 https://developers.google.com/drive/api
│
├── 📑 Google Sheets API
│   ├── API REST para criar, ler, editar e formatar planilhas no Google Sheets.
│   └── 📄 https://developers.google.com/sheets/api
│
├── 📂 gspread
│   ├── Manipulação de planilhas do Google Sheets via API, permitindo leitura e escrita programática.
│   └── 📄 https://gspread.readthedocs.io/
│
├── 🔒 hashlib
│   ├── Implementação de algoritmos de hash (SHA-256, MD5, etc.), garantindo integridade e autenticação de dados.
│   └── 📄 https://docs.python.org/3/library/hashlib.html
│
├── 📊 matplotlib
│   ├── Biblioteca para criação de gráficos 2D e 3D em Python, com suporte a diversas personalizações.
│   └── 📄 https://matplotlib.org/stable/contents.html
│
├── 🗣️ nltk
│   ├── Conjunto de ferramentas para Processamento de Linguagem Natural (NLP), incluindo tokenização e análise semântica.
│   └── 📄 https://www.nltk.org/
│
├── 🔢 numpy
│   ├── Biblioteca para computação numérica eficiente, fornecendo suporte a arrays multidimensionais e operações vetorizadas.
│   └── 📄 https://numpy.org/doc/
│
├── 📊 openpyxl
│   ├── Leitura, escrita e modificação de arquivos Excel (.xlsx), incluindo manipulação de células e formatação.
│   └── 📄 https://openpyxl.readthedocs.io/
│
├── 📑 pandas
│   ├── Manipulação de dados tabulares com estrutura DataFrame para análise e transformação eficiente.
│   └── 📄 https://pandas.pydata.org/pandas-docs/stable/
│
├── 📈 plotly
│   ├── Biblioteca interativa para visualização de dados, suportando gráficos dinâmicos e integração com aplicações web.
│   └── 📄 https://plotly.com/python/
│
├── 🛢️ pymongo
│   ├── Driver para interação com MongoDB, permitindo leitura, escrita e manipulação de dados em bancos NoSQL.
│   └── 📄 https://pymongo.readthedocs.io/en/stable/
│
├── 📄 PyPDF2
│   ├── Manipulação de arquivos PDF, incluindo extração de texto, divisão e mesclagem de páginas.
│   └── 📄 https://pypdf2.readthedocs.io/en/latest/
│
├── 🏷️ re (expressões regulares)
│   ├── Manipulação de strings via padrões de expressões regulares para extração e validação de dados.
│   └── 📄 https://docs.python.org/3/library/re.html
│
├── 🌍 requests
│   ├── Biblioteca HTTP para integração com APIs REST via requisições GET, POST, PUT e DELETE.
│   └── 📄 https://docs.python-requests.org/en/latest/
│
├── 🤖 scikit-learn
│   ├── Biblioteca de aprendizado de máquina, com algoritmos de regressão, classificação e clusterização.
│   └── 📄 https://scikit-learn.org/stable/
│
├── 📊 seaborn
│   ├── Extensão do matplotlib para visualização estatística aprimorada, fornecendo gráficos elegantes e informativos.
│   └── 📄 https://seaborn.pydata.org/
│
├── 📧 smtplib
│   ├── Envio de e-mails via protocolo SMTP, permitindo automação de notificações e alertas.
│   └── 📄 https://docs.python.org/3/library/smtplib.html
│
├── 🗣️ spaCy
│   ├── Framework avançado para NLP, otimizado para extração de entidades e análise sintática de textos.
│   └── 📄 https://spacy.io/usage
│
├── 🗄️ sqlalchemy
│   ├── ORM para mapeamento objeto-relacional, permitindo manipulação de bancos de dados SQL via código Python.
│   └── 📄 https://docs.sqlalchemy.org/en/latest/
│
├── 🤖 tensorflow
│   ├── Framework para construção e treinamento de redes neurais profundas e modelos avançados de machine learning.
│   └── 📄 https://www.tensorflow.org/api_docs
│
├── 🔠 textblob
│   ├── Biblioteca para análise de sentimentos, classificação de texto e processamento gramatical simplificado.
│   └── 📄 https://textblob.readthedocs.io/en/dev/
│
└── 📊 xlwings
  ├── Integração entre Python e Excel VBA, permitindo automação de planilhas e manipulação de macros.
  └── 📄 https://docs.xlwings.org/

🔗 Fontes 🔗

Referências utilizadas no desenvolvimento deste artigo

🙏 Agradecimento 🙏

image

Se você chegou até aqui, espero que o artigo tenha lhe ajudado de alguma forma, demonstrando que as possibilidades são infinitas com essa poderosa união entre Excel e Python.

Mas tenha sempre em mente que, na programação, os únicos limites que existem são aqueles que você mesmo impõe...

Muito obrigado por dedicar seu precioso tempo à leitura deste artigo! Qualquer dúvida, estou à disposição!

Compartilhe
Recomendados para você
Microsoft Certification Challenge #3 DP-100
Decola Tech 2025
Microsoft AI for Tech - Copilot Studio
Comentários (0)
Recomendados para você