flysmog.pages.dev

Como mesclar colunas de dois arquivos CSV diferentes?

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.

Pré-requisitos

Passo 1: Preparar o ambiente e os arquivos

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

Passo 2: Escrever o script Python para mesclar colunas

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')

Passo 3: Executar o script

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.

Exemplo Prático

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

Conclusão

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.