Combinar vários arquivos CSV em um único Excel (planilhas separadas)

2026-07-08 06:57:29 zaki zou
AI Summarize:
ChatGPT
ChatGPT
Claude
Grok
Perplexity
Quick
Quick
Concise overview
Highlights
Key takeaways
Detailed
Structured explanation
Brief
One sentence summary
Summarize |

Mesclar vários arquivos CSV em uma pasta de trabalho do Excel

Ao trabalhar com relatórios exportados de diferentes sistemas, é comum acabar com dezenas de arquivos CSV. Por exemplo, cada departamento, loja ou mês pode gerar seu próprio relatório CSV. Embora isso torne a coleta de dados simples, gerenciar um grande número de arquivos separados rapidamente se torna inconveniente.

Uma solução prática é combinar todos os arquivos CSV em uma única pasta de trabalho do Excel, mantendo cada CSV como uma planilha separada. Isso preserva a estrutura original do arquivo, facilita a navegação e permite que você compartilhe uma única pasta de trabalho em vez de vários arquivos individuais.

Neste artigo, apresentaremos três métodos práticos — desde uma abordagem manual simples até a automação do Excel com VBA e uma solução totalmente programática em Python.

Métodos abordados:

Método 1. Copiar e colar arquivos CSV em planilhas separadas

Se você tiver apenas alguns arquivos CSV para mesclar, a solução mais simples é copiar seus conteúdos para diferentes planilhas manualmente.

Um detalhe importante é que você deve abrir cada arquivo CSV com o Microsoft Excel em vez de um editor de texto como o Bloco de Notas. Quando um CSV é aberto no Excel, suas linhas e colunas são analisadas corretamente com base no delimitador. Se você copiar o texto diretamente do Bloco de Notas, o Excel poderá colar tudo em uma única coluna em vez de separar os valores automaticamente.

Copiar e colar arquivos CSV em planilhas separadas

Passos

  1. Abra o Microsoft Excel e crie uma nova pasta de trabalho.
  2. Abra o primeiro arquivo CSV usando o Excel.
  3. Selecione todos os dados (Ctrl + A) e copie-os (Ctrl + C).
  4. Retorne à nova pasta de trabalho e cole os dados na primeira planilha.
  5. Renomeie a planilha, se necessário.
  6. Repita o processo para cada arquivo CSV restante, criando uma nova planilha a cada vez.
  7. Salve a pasta de trabalho como um arquivo .xlsx.

Prós

  • Não requer programação.
  • Funciona em qualquer instalação do Excel.
  • Preserva um CSV por planilha.
  • Ideal para tarefas ocasionais envolvendo apenas alguns arquivos.

Contras

  • Demorado ao processar muitos arquivos.
  • Totalmente manual.
  • Fácil de cometer erros ao lidar com dezenas de arquivos CSV.

Método 2. Usar uma macro VBA para importar vários arquivos CSV

Se você realiza essa tarefa frequentemente dentro do Excel, uma macro VBA pode automatizar todo o processo. A macro verifica uma pasta, abre cada arquivo CSV, copia sua planilha para a pasta de trabalho atual e nomeia a planilha com o nome do arquivo CSV.

Combinar vários arquivos CSV no Excel usando macro VBA

Passo 1. Criar uma pasta de trabalho em branco

Abra o Excel e crie uma nova pasta de trabalho. Esta pasta de trabalho será o destino que armazenará todas as planilhas importadas.

Passo 2. Abrir o Editor VBA

Pressione Alt + F11 para abrir o Editor do Visual Basic.

Escolha Inserir > Módulo e cole o código a seguir no novo módulo.

Sub MergeCSVFilesToSheets()

    Dim folderPath As String
    Dim fileName As String
    Dim wbCSV As Workbook
    Dim ws As Worksheet
    Dim targetWb As Workbook
    Dim sheetName As String

    Set targetWb = ThisWorkbook

    folderPath = InputBox("Digite o caminho da pasta contendo os arquivos CSV:")

    If Right(folderPath, 1) <> "\" Then
        folderPath = folderPath & "\"
    End If

    fileName = Dir(folderPath & "*.csv")

    Application.ScreenUpdating = False

    Do While fileName <> ""

        Workbooks.Open folderPath & fileName
        Set wbCSV = ActiveWorkbook

        sheetName = Left(fileName, InStrRev(fileName, ".") - 1)

        wbCSV.Worksheets(1).Copy After:=targetWb.Sheets(targetWb.Sheets.Count)
        Set ws = targetWb.Sheets(targetWb.Sheets.Count)

        On Error Resume Next
        ws.Name = Left(sheetName, 31)
        On Error GoTo 0

        wbCSV.Close SaveChanges:=False

        fileName = Dir
    Loop

    Application.ScreenUpdating = True

    MsgBox "Arquivos CSV foram mesclados com sucesso."

End Sub

Passo 3. Executar a macro

Pressione F5, insira a pasta que contém seus arquivos CSV e a macro importará automaticamente cada CSV para sua própria planilha.

Prós

  • Muito mais rápido do que copiar manualmente.
  • Executado inteiramente dentro do Microsoft Excel.
  • Cria automaticamente uma planilha para cada arquivo CSV.
  • Adequado para usuários que trabalham regularmente com o Excel.

Contras

  • Requer pastas de trabalho habilitadas para macro.
  • Os usuários devem habilitar macros VBA.
  • Menos adequado para automação autônoma ou no lado do servidor.

Método 3. Mesclar vários arquivos CSV em Python usando Spire.XLS

Para fluxos de trabalho recorrentes, tarefas agendadas ou aplicações empresariais, a automação programática é frequentemente a solução mais eficiente.

Muitos desenvolvedores pensam imediatamente no Pandas para processamento de CSV. O Pandas é uma excelente biblioteca para ler, analisar e transformar dados tabulares. No entanto, seu foco principal é a análise de dados, não a geração de documentos.

Se o seu fluxo de trabalho vai além da simples importação de arquivos CSV — por exemplo, formatar planilhas, aplicar estilos, inserir gráficos, proteger pastas de trabalho ou exportar a pasta de trabalho final para PDF — uma biblioteca de planilhas como o Free Spire.XLS for Python oferece uma solução mais completa.

Primeiro, instale a biblioteca:

pip install Spire.XLS

Em seguida, use o código a seguir para mesclar cada arquivo CSV em uma pasta em uma única pasta de trabalho do Excel, com cada CSV se tornando uma planilha separada.

import os
from spire.xls import Workbook, WorksheetCopyType, FileFormat

input_folder = "input"
output_folder = "output"

# Criar a pasta de trabalho de destino
merged_workbook = Workbook()
merged_workbook.Worksheets.Clear()

# Processar cada arquivo CSV
for csv_file in os.listdir(input_folder):
    if csv_file.endswith(".csv"):

        input_path = os.path.join(input_folder, csv_file)

        workbook = Workbook()
        workbook.LoadFromFile(input_path, ",", 1, 1)

        sheet = workbook.Worksheets[0]
        merged_workbook.Worksheets.AddCopy(
            sheet,
            WorksheetCopyType.CopyAll
        )

merged_workbook.SaveToFile(
    os.path.join(output_folder, "Merged.xlsx"),
    FileFormat.Version2013
)

Saída:

Mesclar vários arquivos CSV em uma pasta de trabalho do Excel usando Python

Comparado com métodos manuais ou VBA, esta abordagem é muito mais fácil de integrar em fluxos de trabalho automatizados. Após gerar a pasta de trabalho, você pode continuar processando-a com o Spire.XLS — por exemplo:

  • Aplicar fontes, cores, bordas e formatos numéricos.
  • Congelar painéis ou ajustar larguras de coluna automaticamente.
  • Criar gráficos e tabelas dinâmicas.
  • Proteger planilhas ou a pasta de trabalho.
  • Exportar a pasta de trabalho concluída para PDF ou outros formatos.

Essas capacidades a tornam adequada não apenas para mesclagem de CSV, mas também para pipelines de geração de relatórios de ponta a ponta.

Comparação dos três métodos

Método Programação necessária Processamento em lote Melhor para
Copiar e colar Não Limitado Tarefas únicas com apenas alguns arquivos CSV
Macro VBA VBA básico Sim Usuários de Excel que importam arquivos CSV regularmente
Python + Free Spire.XLS Python Excelente Fluxos de trabalho automatizados, aplicações empresariais e processamento em lote

Conclusão

O melhor método depende da frequência com que você precisa realizar a tarefa.

Se você só precisa combinar alguns arquivos CSV ocasionalmente, copiar e colar os dados manualmente em planilhas separadas é a solução mais rápida.

Se você trabalha principalmente no Excel e realiza essa tarefa regularmente, uma macro VBA pode automatizar o processo com esforço mínimo.

Para desenvolvedores que criam fluxos de trabalho repetíveis ou integram o processamento de CSV em aplicações, o Python com Spire.XLS oferece a maior flexibilidade. Além de mesclar arquivos CSV, ele permite manipulação avançada de planilhas e geração de documentos, tornando-o adequado para uma ampla gama de cenários de automação.

Perguntas frequentes (FAQs)

Posso mesclar centenas de arquivos CSV em uma única pasta de trabalho do Excel?

Sim. O VBA pode lidar com muitos arquivos, mas para lotes muito grandes ou fluxos de trabalho automatizados, uma solução em Python é geralmente mais confiável e escalável.

Cada arquivo CSV se tornará sua própria planilha?

Sim. Todos os três métodos descritos neste artigo preservam cada CSV como uma planilha separada, em vez de combinar todos os dados em uma única planilha.

Os nomes das planilhas podem ser baseados nos nomes dos arquivos CSV?

Sim. Tanto a macro VBA quanto o exemplo em Python usam automaticamente o nome do arquivo CSV (sem a extensão) como o nome da planilha.

E se meus arquivos CSV usarem UTF-8 ou outras codificações?

A maioria dos arquivos CSV pode ser importada sem problemas. Se seus arquivos usarem uma codificação ou delimitador diferente, ajuste as configurações de importação adequadamente antes de processar.

Posso continuar editando a pasta de trabalho após mesclar os arquivos CSV?

Com certeza. Após a criação da pasta de trabalho, você pode formatar planilhas, inserir gráficos, adicionar fórmulas, proteger a pasta de trabalho ou exportá-la para PDF como qualquer outro arquivo do Excel.

Veja também