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