Criando e Lendo Planilhas Excel com Python: openpyxl e pandas
.xlsx de forma prática e automatizada.Neste artigo, você vai aprender:
Como criar planilhas Excel do zero com
openpyxl.Como ler e manipular planilhas usando
pandas.Como automatizar processos repetitivos envolvendo Excel.
Dicas práticas para projetos reais.
🔹 Bibliotecas recomendadas
Python possui algumas bibliotecas populares para trabalhar com Excel:
| Biblioteca | Uso principal |
|---|---|
openpyxl | Criar, ler, editar e formatar planilhas Excel (.xlsx) |
pandas | Análise de dados, leitura e escrita de planilhas em blocos, manipulação de tabelas |
📌 Dica: Se o foco é automação e manipulação de células específicas, use openpyxl. Se o foco é análise de dados e relatórios, pandas é mais eficiente.
🔹 Instalando as bibliotecas
Para instalar as bibliotecas necessárias:
pip install openpyxl pandas
🔹 Criando uma planilha com openpyxl
O openpyxl permite criar planilhas do zero e inserir dados célula por célula.
from openpyxl import Workbook
# Criando uma nova planilha
wb = Workbook()
# Selecionando a planilha ativa
planilha = wb.active
planilha.title = "Vendas"
# Inserindo cabeçalhos
planilha.append(["Produto", "Quantidade", "Preço Unitário", "Total"])
# Inserindo alguns dados
planilha.append(["Notebook", 5, 3500.50, 5*3500.50])
planilha.append(["Mouse", 10, 50.75, 10*50.75])
planilha.append(["Teclado", 7, 120.00, 7*120.00])
# Salvando a planilha
wb.save("vendas.xlsx")
print("Planilha criada com sucesso!")
📌 Dica: append() adiciona linhas inteiras de uma vez, facilitando a inserção de tabelas pequenas.
🔹 Lendo dados de Excel com openpyxl
Também é possível ler arquivos existentes:
from openpyxl import load_workbook
# Carregando uma planilha existente
wb = load_workbook("vendas.xlsx")
planilha = wb["Vendas"]
# Iterando pelas linhas
for linha in planilha.iter_rows(values_only=True):
print(linha)
Saída:
('Produto', 'Quantidade', 'Preço Unitário', 'Total')
('Notebook', 5, 3500.5, 17502.5)
('Mouse', 10, 50.75, 507.5)
('Teclado', 7, 120.0, 840.0)
📌 Dica: values_only=True retorna apenas os valores, sem os objetos de célula.
🔹 Manipulação avançada com openpyxl
Você pode formatar células, adicionar fórmulas e gráficos:
from openpyxl.styles import Font, Alignment
# Cabeçalho em negrito
for cell in planilha["1:1"]:
cell.font = Font(bold=True)
cell.alignment = Alignment(horizontal="center")
# Adicionando fórmula na última linha
planilha["E2"] = "=B2*C2" # Exemplo de fórmula
wb.save("vendas_formatada.xlsx")
🔹 Lendo e escrevendo planilhas com pandas
Se você precisa trabalhar com grandes volumes de dados, pandas é muito mais eficiente.
Criando um DataFrame e salvando em Excel
import pandas as pd
# Criando dados
dados = {
"Produto": ["Notebook", "Mouse", "Teclado"],
"Quantidade": [5, 10, 7],
"Preço Unitário": [3500.50, 50.75, 120.00]
}
df = pd.DataFrame(dados)
df["Total"] = df["Quantidade"] * df["Preço Unitário"]
# Salvando em Excel
df.to_excel("vendas_pandas.xlsx", index=False)
print("Planilha criada com pandas!")
Lendo dados do Excel com pandas
import pandas as pd
df = pd.read_excel("vendas_pandas.xlsx")
print(df)
Saída:
Produto Quantidade Preço Unitário Total
0 Notebook 5 3500.50 17502.5
1 Mouse 10 50.75 507.5
2 Teclado 7 120.00 840.0
📌 Dica: pandas transforma automaticamente o Excel em um DataFrame, permitindo filtrar, agrupar e analisar dados com facilidade.
Operações comuns com pandas
Filtrar produtos com estoque maior que 5
df[df["Quantidade"] > 5]
Calcular soma de todos os valores
df["Total"].sum()
Adicionar nova coluna com desconto
df["Desconto"] = df["Total"] * 0.1
🔹 Comparando openpyxl e pandas
| Característica | openpyxl | pandas |
|---|---|---|
| Criar planilha do zero | ✅ | ✅ (via DataFrame) |
| Manipulação de células | ✅ detalhada | ❌ (somente em bloco, não célula) |
| Fórmulas e formatação | ✅ | ❌ |
| Leitura de grandes dados | ✅, mas mais lento | ✅ muito rápido |
| Análise e cálculo de dados | ❌ | ✅ avançado |
📌 Regra prática:
Use openpyxl para criar relatórios personalizados com formatação e fórmulas.
Use pandas para análise, cálculos e manipulação de dados em massa.
🔹 Exemplos de aplicações práticas
Controle de vendas: Ler relatórios diários e calcular totais automaticamente.
Relatórios financeiros: Gerar planilhas com gráficos e fórmulas para apresentações.
Importação de dados: Ler grandes arquivos Excel de clientes e processar em Python.
Automação de tarefas administrativas: Preencher planilhas com informações de outros sistemas.
✅ Conclusão
Python torna o trabalho com Excel muito mais eficiente, seja com openpyxl para manipulação detalhada e formatação, ou com pandas para análise e cálculos rápidos.
Com essas ferramentas, você consegue:
Criar planilhas complexas do zero.
Ler dados de arquivos existentes e transformá-los em objetos Python.
Automatizar tarefas repetitivas e relatórios.
Analisar grandes volumes de dados de forma prática.
💡 Desafio prático: Crie uma planilha de controle de estoque que atualize automaticamente o total de produtos vendidos e aplique descontos usando Python.

Comentários
Postar um comentário