Mesclar colunas de arquivos CSV é uma tarefa comum em processamento de dados, mas pode se tornar complexa quando os arquivos têm estruturas diferentes ou quando lidamos com grandes volumes de informações. A solução mais eficaz e escalável é utilizar um script Python, que automatiza o processo, garante precisão e economiza tempo.
Antes de executar o script, certifique-se de que ambos os arquivos CSV estão no mesmo diretório do seu script Python. Verifique também se as colunas que você deseja mesclar têm cabeçalhos correspondentes ou se você sabe o índice exato de cada coluna.
# Exemplo de estrutura dos arquivos
# arquivo1.csv
id,nome,idade
1,João,30
2,Maria,25
# arquivo2.csv
id,cidade,profissao
1,São Paulo,Engenheiro
2,Rio de Janeiro,Professor
O script abaixo lê os dois arquivos CSV, mescla as colunas com base em uma chave comum (como 'id') e salva o resultado em um novo arquivo CSV.
import csv
def mesclar_csv(arquivo1, arquivo2, chave, arquivo_saida):
# Ler dados do primeiro arquivo
dados1 = {}
with open(arquivo1, mode='r', encoding='utf-8') as f1:
leitor = csv.DictReader(f1)
for linha in leitor:
dados1[linha[chave]] = linha
# Ler dados do segundo arquivo e mesclar
with open(arquivo2, mode='r', encoding='utf-8') as f2:
leitor = csv.DictReader(f2)
for linha in leitor:
if linha[chave] in dados1:
dados1[linha[chave]].update(linha)
# Escrever arquivo de saída
with open(arquivo_saida, mode='w', encoding='utf-8', newline='') as fout:
# Coletar todas as chaves únicas
todas_chaves = set()
for linha in dados1.values():
todas_chaves.update(linha.keys())
escritor = csv.DictWriter(fout, fieldnames=todas_chaves)
escritor.writeheader()
escritor.writerows(dados1.values())
# Executar a função
mesclar_csv('arquivo1.csv', 'arquivo2.csv', 'id', 'arquivo_mesclado.csv')
Abra o terminal, navegue até o diretório onde o script está salvo e execute o comando abaixo:
python mesclar_csv.py
O script criará um novo arquivo chamado 'arquivo_mesclado.csv' com as colunas mescladas.
| arquivo1.csv | arquivo2.csv | arquivo_mesclado.csv (resultado) |
|---|---|---|
| id,nome,idade | id,cidade,profissao | id,nome,idade,cidade,profissao |
| 1,João,30 | 1,São Paulo,Engenheiro | 1,João,30,São Paulo,Engenheiro |
| 2,Maria,25 | 2,Rio de Janeiro,Professor | 2,Maria,25,Rio de Janeiro,Professor |
Com este script Python, você automatiza a tarefa de mesclar colunas de dois arquivos CSV em segundos, evitando erros manuais e garantindo consistência nos dados. Este método é escalável e pode ser adaptado para diferentes estruturas de arquivo, tornando-se uma ferramenta essencial para qualquer profissional que trabalhe com processamento de dados.