Unir arquivos CSV

Combine vários CSV num só. Cabeçalhos iguais são concatenados; cabeçalhos diferentes são alinhados num conjunto de colunas. Campos entre aspas ficam inteiros e nada sai do navegador.

Os arquivos são processados no navegador e nunca são enviados.

Os arquivos são processados no navegador e nunca são enviados.

Como funciona a união

Arquivos com o mesmo cabeçalho são concatenados nos limites de linha. Arquivos com cabeçalhos diferentes são lidos linha a linha e escritos numa tabela.

  1. 1

    Ler cada cabeçalho

    A primeira linha de cada arquivo é inspecionada quanto a BOM, delimitador e nomes de coluna. Pode substituir o delimitador.

  2. 2

    Escolher as colunas de saída

    Todas as colunas mantém cada cabeçalho pela ordem em que aparece. Colunas do primeiro arquivo mantém só o primeiro cabeçalho. Pode antepor uma coluna de origem.

  3. 3

    Escrever um CSV

    Quando os cabeçalhos coincidem, os arquivos seguintes são acrescentados como intervalos de bytes do original. Quando diferem, cada linha de dados é mapeada para as colunas de saída.

O que se preserva e o que não é suportado

  • Campos entre aspas seguem RFC 4180: vírgulas, quebras de linha e aspas duplicadas ("") dentro de aspas são dados.
  • A saída usa o delimitador e os finais de linha do primeiro arquivo. Escreve-se BOM UTF-8 se algum arquivo de entrada o tinha.
  • Se um arquivo não termina com quebra de linha, insere-se uma antes do seguinte para as linhas não colarem.
  • UTF-16 é recusado com uma mensagem; grave primeiro em UTF-8. No máximo 50 arquivos por execução.
  • Nomes de cabeçalho duplicados num arquivo tornam-se únicos (name, name_2). Células de cabeçalho vazias passam a column_N.

Exemplos resolvidos

Os dois exemplos usam as amostras incluídas; pode carregá-las e conferir cada número.

Unir dois arquivos de encomendas com o mesmo cabeçalho

Carregue “Dois arquivos de encomendas (120 + 80 linhas)”, mantenha “Todas as colunas” e o cabeçalho ligado.

  1. 1q1-orders.csv tem o cabeçalho order_id,order_date,region,amount e 120 linhas de dados.
  2. 2q2-orders.csv tem o mesmo cabeçalho e 80 linhas, com order_id a partir de 2001.
  3. 3Como os cabeçalhos coincidem, concatenam-se: o cabeçalho uma vez, depois todas as linhas de Q1 e as de Q2.
  4. 4120 + 80 = 200 linhas de dados. O arquivo unido começa com a mesma linha de cabeçalho.

Resultado: q1-orders_merged.csv com 200 linhas de dados (120 de Q1, 80 de Q2) e quatro colunas.

Unir equipa e prestadores com colunas diferentes

Carregue “Equipa + prestadores (colunas diferentes)” e mantenha “Todas as colunas”.

  1. 1staff.csv: id, name, team (4 pessoas). contractors.csv: id, name, email, day_rate (3 pessoas).
  2. 2A união dos cabeçalhos é id, name, team, email, day_rate — cinco colunas, pela ordem de aparecimento.
  3. 3Linhas da equipa deixam email e day_rate vazios. Linhas de prestadores deixam team vazio. Nomes como Li, Wei ficam numa célula.
  4. 4“Colunas do primeiro arquivo” manteria só id, name, team e removeria email e day_rate.

Resultado: 7 linhas de dados e 5 colunas. Ao abrir o arquivo, os três e-mails de prestadores estão em email e team fica vazio.

FAQ

Perguntas sobre unir CSV, cabeçalhos e codificações.

O meu CSV é enviado para um servidor?

Não. Os arquivos são lidos com a API File do navegador no seu dispositivo. Não há envio; fechar o separador descarta tudo.

Como uno CSV com colunas diferentes?

Escolha “Todas as colunas”. Cada cabeçalho fica; células que um arquivo não tem ficam vazias. “Colunas do primeiro arquivo” força os seguintes ao primeiro cabeçalho.

A linha de cabeçalho é repetida?

Não. Com “A primeira linha é cabeçalho” escreve-se uma vez no topo. Os arquivos seguintes só contribuem com linhas de dados.

O que acontece a campos entre aspas com vírgulas ou quebras de linha?

Ficam intactos. Uma quebra de linha dentro de aspas duplas é parte do campo, e aspas duplicadas ("") são aspas escapadas.

Que delimitadores são suportados?

Vírgula, ponto e vírgula, tabulação e pipe. O de cada arquivo é detetado na primeira linha e pode ser substituído. O arquivo unido usa o do primeiro.

O Excel abre o arquivo corretamente?

Sim. Se alguma entrada tiver BOM UTF-8, a saída conserva-o. Finais CRLF do primeiro arquivo também se mantêm.

Posso ver de que arquivo veio cada linha?

Ligue “Adicionar coluna do arquivo de origem”. O nome original antecede cada linha de dados.

Em que difere do divisor de CSV?

O divisor corta um arquivo em muitos. Esta página faz o inverso. Depois de dividir, pode unir as partes aqui; deixe o cabeçalho ligado para não empilhar cabeçalhos.