-

Como Unir Duas Tabelas do Excel com Python em 5 Passos Usando Merge

Como Unir Duas Tabelas do Excel com Python em 5 Passos

Como Unir Duas Tabelas do Excel com Python em 5 Passos (Até Para Quem Nunca Programou)

🔍💻 Imagine que você tem duas planilhas do Excel: uma com dados de clientes e outra com histórico de compras. Juntá-las manualmente seria uma dor de cabeça, certo? Com Python, é possível automatizar essa tarefa em minutos — mesmo que você não seja programador.

Neste tutorial, vou te ensinar como usar a função merge do Pandas, a biblioteca mais poderosa para análise de dados. Vamos lá!


Por Que Usar Python em Vez do Próprio Excel?

  • Automatização: Processa milhares de linhas em segundos.
  • Flexibilidade: Merge complexos (inner, left, right, outer) com uma linha de código.
  • Controle: Trate erros, duplicatas e dados faltantes de forma eficiente.

Pré-requisitos

  1. Instale o Python (python.org).
  2. Instale as bibliotecas Pandas e Openpyxl (para Excel):
pip install pandas openpyxl

Passo a Passo: Unindo Tabelas com Python

1. Estrutura das Tabelas

Suponha que temos dois arquivos Excel:

clientes.xlsx

IDNomeCidade
1AnaSão Paulo
2CarlosRio de Janeiro

compras.xlsx

ID_ClienteProdutoValor
1Notebook4500
2Smartphone2500

2. Carregue os Dados no Python

import pandas as pd

# Carregar as planilhas
df_clientes = pd.read_excel('clientes.xlsx')
df_compras = pd.read_excel('compras.xlsx')

print("Tabela de Clientes:")
print(df_clientes.head())

print("\nTabela de Compras:")
print(df_compras.head())

3. Use o Merge para Unir as Tabelas

A função merge do Pandas funciona como um JOIN do SQL. Aqui, usaremos um inner join (só registros com IDs correspondentes):

# Unir as tabelas pela coluna de ID
df_final = pd.merge(
    left=df_clientes,
    right=df_compras,
    left_on='ID',
    right_on='ID_Cliente',
    how='inner'
)

print("\nTabela Unida:")
print(df_final)

Resultado:

IDNomeCidadeID_ClienteProdutoValor
1AnaSão Paulo1Notebook4500
2CarlosRio de Janeiro2Smartphone2500

4. Tipos de Junção (Parâmetro how)

  • inner: Só registros com chaves presentes em ambas as tabelas.
  • left: Todos os registros da tabela left, mesmo sem correspondência na right.
  • right: Todos os registros da tabela right, mesmo sem correspondência na left.
  • outer: Todos os registros de ambas as tabelas.

5. Salve o Resultado em um Novo Excel

df_final.to_excel('dados_unidos.xlsx', index=False)
print("Arquivo 'dados_unidos.xlsx' salvo com sucesso!")

Erros Comuns (e Como Evitá-los)

  • Colunas com Nomes Diferentes: Certifique-se de que left_on e right_on estejam corretos.
  • Chaves Duplicadas: Use validate='one_to_one' no merge para detectar conflitos.
  • Dados Faltantes: Após o merge, trate valores nulos com df_final.fillna(0) ou dropna().

Automatize Tarefas Chatas e Ganhe Tempo

Com Python e Pandas, juntar tabelas do Excel deixa de ser um martírio. Mesmo que você não domine programação, scripts como esse podem ser adaptados para inúmeras situações.

Blog Cetlag: Transformando dados em insights, um código de cada vez. 📊


Comentários