Automatizando conversão de moedas em planilhas com Python e APIs de câmbio
Quem trabalha com dados sabe: uma boa parte do tempo é gasta em tarefas repetitivas, como ajustar planilhas, consolidar relatórios ou converter valores de diferentes moedas.
Essas tarefas são simples — mas tomam tempo e são perfeitas para automatização com Python.
Neste artigo, vou mostrar um exemplo prático de como automatizar a conversão de valores de várias moedas para dólar americano (USD), utilizando Pandas, Requests e uma API gratuita de câmbio.
🔧 Cenário
Imagine uma planilha com vendas internacionais.
Cada linha contém o valor da venda e a moeda em que a transação foi feita:
amount currency
0 43.75 EUR
1 385.50 GBP
2 495.50 GBP
3 117.99 GBP
4 624.00 USD
Nosso objetivo é converter todas essas moedas para dólar (USD) e calcular o total unificado de vendas.
⚙️ Passo 1 — Obter as taxas de câmbio com requests
Vamos usar a API gratuita exchangerate.host para buscar as taxas de câmbio em tempo real.
import requests
# Endpoint base da API
url = "https://api.exchangerate.host/latest?base=USD"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
else:
raise Exception(f"Erro ao consultar API: {response.status_code}")
A resposta da API contém algo como:
{
"base": "USD",
"date": "2024-01-19",
"rates": {
"EUR": 0.918526683200147,
"GBP": 0.788325525856526,
"USD": 1.0,
"BRL": 4.908974005694866
}
}
🐍 Passo 2 — Converter os valores com Pandas
Agora, vamos criar o DataFrame com as vendas e calcular o valor convertido para dólar usando as taxas obtidas da API.
import pandas as pd
# Dados simulando a planilha
orders = pd.DataFrame({
'amount': [43.75, 385.50, 495.50, 117.99, 624.00],
'currency': ['EUR', 'GBP', 'GBP', 'GBP', 'USD']
})
# Mapeando a taxa para cada moeda
orders['rate'] = orders['currency'].map(data['rates'])
# Calculando o valor em dólares
orders['usd_sales'] = orders['amount'] / orders['rate']
print(orders)
Saída:
amount currency rate usd_sales
0 43.75 EUR 0.918527 47.635543
1 385.50 GBP 0.788326 488.854730
2 495.50 GBP 0.788326 628.807374
3 117.99 GBP 0.788326 149.710204
4 624.00 USD 1.000000 624.000000
💰 Passo 3 — Totalizar as vendas
Por fim, somamos todas as vendas já convertidas para dólar:
total_usd = orders['usd_sales'].sum()
print(f"Total em USD: ${total_usd:,.2f}")
Saída:
Total em USD: $1,938.01
🚀 Próximos passos
A partir daqui, é possível evoluir o projeto:
- Criar uma função automática que busca as taxas da API e atualiza as planilhas;
- Agendar a execução diária com cron ou Task Scheduler;
- Enviar relatórios automáticos por e-mail;
- Armazenar os resultados em um dashboard ou banco de dados.
Tudo isso com poucas linhas de código em Python.
🧩 Conclusão
Com Python, é possível automatizar grande parte do trabalho repetitivo com planilhas e conversões de valores.
O uso combinado de Pandas, Requests e APIs públicas é uma solução leve, flexível e poderosa para economizar tempo e reduzir erros manuais.
Código completo disponível no GitHub:



