O trabalho de escritório moderno tem um segredo sujo: 40% do tempo que passamos movendo dados da janela A para a janela B. É o inferno do “Ctrl+C, Ctrl+V”.
- 1. The Excel Tamer: Unifique 50 arquivos em um único arquivo
- 2. O carteiro incansável: e-mails em massa (mas personalizados)
- 3. The Chaos Organiser: Limpe sua pasta “Downloads”
- 4. O Web Spy: monitoramento de preços ou alterações em sites
- 5. The PDF Surgeon: mesclar e extrair páginas
- Como faço para executar tudo isso se não sou um programador?
Se você passa mais de 15 minutos por dia fazendo uma tarefa repetitiva que não exige que seu cérebro esteja ligado, você está perdendo dinheiro e células cerebrais.
Bill Gates disse certa vez que escolheria uma pessoa preguiçosa para fazer um trabalho difícil porque “ela encontrará uma maneira fácil de fazê-lo”. Essa maneira fácil, hoje em dia, é chamada de Python. Você não precisa ser um engenheiro de software do Vale do Silício ou ter um capuz escuro. Você só precisa perder o medo do terminal e estar disposto a sair no seu próprio horário (ou antes dele).
O que é automação com Python nesse contexto? Basicamente, trata-se de escrever pequenos “bots” (scripts) de texto que leem arquivos, enviam e-mails ou vasculham sites enquanto você toma seu café e observa a tela trabalhar sozinha. É magia negra corporativa.
⚠️ Nota do arquiteto: Todo o código que você verá a seguir usa bibliotecas padrão ou populares (pandas, openpyxl, yagmail). Não entre em pânico, eu lhe direi como instalá-los.
1. The Excel Tamer: Unifique 50 arquivos em um único arquivo
O cenário clássico de pesadelo: é o fim do mês. Você tem 20 arquivos do Excel, um para cada departamento ou dia, e seu chefe quer um “Relatório Mestre”. Abrir, copiar, colar, fechar. Repetir 20 vezes. Parece familiar? É uma tortura medieval digital.
Vamos resolver isso em 3 segundos. Literalmente.
O Código Salvador
Precisaremos da biblioteca pandas, que é basicamente o Excel com esteroides para Python.
Python
importação pandas como pd
importação você
importação globo
# Configuration: Onde estão seus arquivos do inferno?
folder_path = 'C:/Users/YourUser/Documents/MonthlyReports/'.'
pattern = os.path.join(folder_path, "*.xlsx")
# A mágica: o Glob encontra todos os excels e o Pandas os lê.
arquivos = glob.glob(pattern)
lista_de_dados = []
print(f"🔄 Encontrado {len(arquivos)} arquivos. Processamento...")
para arquivo em arquivos:
# Lemos todos os arquivos do Excel. Se ele tiver cabeçalhos estranhos, ajuste o 'cabeçalho'.'
df_temp = pd.read_excel(file)
# Opcional: Adicione uma coluna para saber de qual arquivo ele veio
df_temp['Origem'.'] = os.path.basename(file)
lista_de_dados.append(df_temp)
# O grand finale: agrupamos tudo em um único bloco
df_master = pd.concat(data_list, ignore_index=Verdadeiro)
# Salvamos o resultado e vamos para casa.
df_master.to_excel("Final_Master_Report.xlsx", index=Falso)
print("✅ Feito! Relatório gerado sem dor.")
Por que isso funciona? Em vez de depender de seus cliques manuais (propensos a erros humanos), globo procure por qualquer coisa que termine em .xlsx e pandas empilha-os uns sobre os outros. Não importa se há 5 ou 500 arquivos, o script leva o mesmo tempo.
2. O carteiro incansável: e-mails em massa (mas personalizados)
Envie 100 e-mails para clientes com o assunto “Invoice Enclosed” (Fatura anexa) ou “Merry Christmas” (Feliz Natal). Se você usar BCC (cópia oculta), irá para a pasta de SPAM ou parecerá pouco profissional. Se os enviar um por um, você envelhecerá na cadeira.
Aqui usamos Python para ler uma lista de contatos e enviar e-mails personalizados. “Olá João”, “Olá Maria”, não “Olá Cliente”.
Pré-requisitos
Para isso, gosto de usar yagmail (Observação: você precisará gerar uma “Senha do aplicativo” na sua conta do Gmail, não use sua senha normal).
Python
importação yagmail
importação pandas como pd
# 1. conexão segura (use sua senha do aplicativo, não a real!)
usuário = "[email protected]"
senha = "your_application_password" (sua senha de aplicativo)"
yag = yagmail.SMTP(nome de usuário, senha)
# 2. leia a lista de vítimas (clientes)
# Suponha que o Excel tenha as colunas: 'E-mail', 'Nome', 'Arquivo', "E-mail", "Nome", "Arquivo", "Arquivo", "Arquivo", "Arquivo", "Arquivo", "E-mail".'
contatos = pd.read_excel("customer_list.xlsx")
# 3. o loop de envio
para índice, linha em contatos.iterrows():
recipient = row['E-mail']
name = row['Nome']
attachment_file = row['Arquivo'] # Caminho para o PDF específico
assunto = f "Invoice due for {nome}"
corpo = [
f "Olá {nome},",
"Espero que esteja se saindo bem.",
"Anexei a fatura deste mês. Por favor, revise-a quando puder.",
"Uma saudação nerd"."
]
tentar:
yag.send(to=recipient, subject=subject, contents=body, attachments=attachment_file)
print(f"📩 Correspondência enviada para {nome}")
exceto Exceção como e:
print(f"❌ Erro com {nome}: {e}")
print("🚀 Missão cumprida.")
O diabo está nos detalhes: Observe como o script pode até mesmo anexar um arquivo diferente para cada pessoa se você tiver o caminho em seu Excel. Tente fazer isso com o Outlook sem querer jogar o computador pela janela.


3. The Chaos Organiser: Limpe sua pasta “Downloads”
Sua pasta Downloads está um lixo. Eu sei, a minha também. PDFs, instaladores .exe, imagens .jpg, zips... todos misturados em uma orgia de desordem digital. Quando você procura algo, gasta 5 minutos rolando a tela.
Esse script é o seu concierge digital. Ele classifica os arquivos em pastas de acordo com sua extensão. Execute-o uma vez por semana e sinta a paz de espírito.
Python
importação você
importação shutil
# A zona de guerra
pasta_de_downloads = 'C:/Usuários/SeuUsuário/Downloads/'
# Mapeamento de extensões para pastas
extensões = {
'Imagens': ['.jpg'.', '.jpeg'.', '.png'.', '.gif'.', '.svg'.'],
'Documentos': ['.pdf'.', '.docx'.', '.txt'.', '.pptx'.', '.xlsx'],
'Instaladores': ['.exe'.', '.msi'.', '.dmg'.'],
'Tablets': ['.zip', '.rar'.', '.7z']
}
para nome do arquivo em os.listdir(downloads_folder):
original_path = os.path.join(downloads_folder, filename).
# Ignoramos as pastas, movemos apenas os arquivos
se os.path.isdir(original_path):
continuar
# Obtemos a extensão
_, ext = os.path.splitext(filename)
# Estamos procurando onde ele pertence
movido = Falso
para pasta, exts_valid em extensões.itens():
se ext.lower() em exts_valid:
# Criar pasta de destino se ela não existir
pasta_alvo = os.path.join(pasta_de_downloads, pasta)
os.makedirs(pasta_alvo, exist_ok=Verdadeiro)
# Movendo o lixo
shutil.move(original_path, os.path.join(target_folder, filename))
print(f"📦 Movido {nome do arquivo} para {pasta}")
movido = Verdadeiro
quebra
se não movido:
# Opcional: Mova o desconhecido para uma pasta "Outros"
print(f"🤔 {nome do arquivo} Ele não tem status, ele fica lá".")
4. O Web Spy: monitoramento de preços ou alterações em sites
Seu trabalho envolve verificar se a concorrência alterou um preço? Ou talvez você precise saber quando o governo publica uma nova regulamentação em seu site arcaico? Não fique apertando F5 o dia todo.
Usaremos solicitações e BeautifulSoup para criar uma sentinela para cuidar de você.
⚠️ Aviso: A raspagem da Web é legal, mas respeite os termos de serviço dos sites. Não faça isso a cada 0,1 segundo ou seu IP será bloqueado (e com razão).
Python
importação solicitações
de bs4 importação BeautifulSoup
importação tempo
de data e hora importação data e hora
url_target = "https://www.competencia-ejemplo.com/producto-x"
preço_alvo = 500 # Se isso acontecer, me avise.
def review_price():
cabeçalhos = {"User-Agent": "Mozilla/5.0"} # Para não parecer um bot burro
response = requests.get(url_target, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
# Aqui você deve inspecionar o site para encontrar a classe de preço
# Suponha que seja um
price_text = soup.find('extensão', class_='preço atual').text
# Limpeza de dados (remover $ ou €)
limit_price = flutuar(price_text.replace('$', '').replace(',', ''))
print(f"[{datetime.now()}Preço atual: {clear_price}")
se preço_limite < preço_alvo:
print("🚨 ALERTA! O PREÇO CAIU. COMPRE OU AVISE O CHEFE!")
# Aqui você pode inserir o código para enviar o e-mail do ponto 2.
mais:
print("😴 Tudo permanece o mesmo...")
# Executar uma vez
revise_price()
5. The PDF Surgeon: mesclar e extrair páginas
Às vezes, é necessário mesclar o contrato assinado (Página 1) com os termos e condições (Páginas 2-10) que estão em outro arquivo. A Adobe cobra uma assinatura mensal para fazer isso. Python faz isso de graça.
Usaremos pypdf (a versão moderna do PyPDF2).
Python
de pypdf importação PdfWriter
importação você
# Lista de PDFs na ordem em que você os deseja
pdfs_to_join = ["Cover.pdf", "Contract_Body.pdf", "Annexes.pdf"]
nome_da_saída = "Contract_Complete_Signed.pdf"
merger = PdfWriter()
para pdf em pdfs_to_join:
# Adicione cada PDF inteiro no final
merger.append(pdf)
# Resultado da gravação
com aberto(output_name, "wb") como saída:
merger.write(output)
print(f"📑 Pronto! Você criou {output_name} sem pagar o Adobe Pro.")
Como faço para executar tudo isso se não sou um programador?
Não vou mentir para você e dizer que é só clicar e pronto, mas é quase isso. Siga estas três etapas e você será o hacker do escritório:
Instalar o Python: Acesse python.org, faça o download da versão mais recente e, MUITO IMPORTANTE, marque a caixa que diz “Adicionar Python ao PATH” durante a instalação. Se não fizer isso, nada funcionará e você chorará.
Instale as bibliotecas: Abra seu terminal (CMD ou PowerShell) e digite isso como se você fosse Neo na Matrix:
pip install pandas openpyxl yagmail requests beautifulsoup4 pypdfExecute o script: Salve o código como um arquivo de texto com a extensão
.py(exemplo:meu_script.py). Em seguida, no terminal, digite:python mi_script.py
É isso aí. Você acabou de economizar horas de vida.
Automação não é ser preguiçoso, é ser eficiente. Trata-se de permitir que as máquinas façam o trabalho das máquinas, para que você possa continuar pensando, criando ou apenas tomando aquele café tranquilo. Comece com um desses scripts, quebre-o, conserte-o e torne-o seu.
Imagem: Pexels










