Para juntar arquivos CSV, adicione dois ou mais arquivos e escolha como combiná-los. Empilhar linhas coloca as linhas de todos os arquivos em uma única tabela, associando as colunas pelo nome do cabeçalho: uma coluna que só alguns arquivos têm é mantida e fica vazia nos demais. É o que a maioria das pessoas quer ao juntar exportações mensais ou de várias filiais. Combinar por chave cruza dois arquivos lado a lado por uma ou mais colunas-chave, como um PROCV de planilha, e informa quantas linhas tiveram correspondência, quais chaves se repetem e quantas linhas a mais isso gerou. A tabela juntada é atualizada conforme você muda as opções, e os arquivos são processados no seu navegador, sem upload.
Como juntar arquivos CSV
- Adicione os arquivos. Cada um é lido com delimitador e codificação detectados, e a primeira linha vira o cabeçalho. A lista mostra quantas linhas cada arquivo tem e as primeiras colunas; mova os arquivos para cima ou para baixo para definir a ordem.
- Escolha empilhar para colocar as linhas de todos os arquivos uma depois da outra, ou combinar por chave para cruzar as linhas dos dois primeiros arquivos.
- Confira a prévia e os avisos acima dela; depois baixe o resultado em CSV ou abra no editor de CSV para continuar trabalhando.
As linhas seguem a ordem da lista de arquivos: todas as linhas do primeiro arquivo, depois todas as do segundo, e assim por diante. Para juntar várias exportações mensais, adicione todas de uma vez e ative a coluna com o nome do arquivo, para que cada linha continue indicando de onde veio.
Empilhar: arquivos com colunas diferentes
Ao empilhar, há três jeitos de alinhar as colunas. Escolha o que corresponde à diferença entre os seus arquivos.
| Por nome (padrão) | O resultado tem todos os cabeçalhos de todos os arquivos, na ordem em que aparecem pela primeira vez. Uma linha de um arquivo que não tem certa coluna fica com valor vazio nela. Os nomes precisam ser idênticos: SKU e sku viram duas colunas. |
|---|---|
| Exigir as mesmas colunas | Para com um erro que indica o primeiro arquivo cujos cabeçalhos diferem em nome, quantidade ou ordem. Use quando todos os arquivos deveriam vir da mesma exportação e uma coluna renomeada indica que algo deu errado. |
| Por posição | A coluna 1 vai embaixo da coluna 1, e assim por diante. Os cabeçalhos vêm do arquivo com mais colunas; os arquivos mais curtos ganham valores vazios no fim. Use apenas quando os arquivos não têm um cabeçalho aproveitável ou têm o mesmo layout com nomes diferentes. |
| Coluna com o nome do arquivo | Acrescenta uma última coluna, chamada source_file se você não mudar o nome, com o nome do arquivo de cada linha. Esse nome não pode coincidir com um cabeçalho já existente. |
| Remover linhas repetidas exatamente | Depois de empilhar, descarta toda linha idêntica a uma anterior e informa quantas foram removidas. A primeira cópia fica. Os valores precisam ser exatamente iguais, inclusive maiúsculas e espaços; a coluna com o nome do arquivo não entra na comparação, então a mesma linha em dois arquivos conta como repetida. |
Associar por posição coloca valores sob o cabeçalho errado quando um arquivo tem uma coluna a mais ou em outra ordem: no exemplo abaixo, o qty de abril cairia em name. Associar por nome evita isso sempre que os arquivos têm cabeçalho.
Combinar por chave: cruzar dois arquivos
A combinação usa os dois primeiros arquivos da lista como primeiro (esquerdo) e segundo (direito). Escolha um ou mais pares de colunas-chave; cada par pode ter nomes diferentes, como customer_id no primeiro arquivo e id no segundo. Com vários pares, uma linha só corresponde quando todos os pares coincidem.
| Todas as linhas do primeiro arquivo (left join, padrão) | Todas as linhas do primeiro arquivo, com as colunas do segundo preenchidas onde a chave coincidiu e vazias onde não coincidiu. |
|---|---|
| Só as linhas presentes nos dois (inner join) | Apenas as linhas do primeiro arquivo cuja chave existe no segundo. |
| Todas as linhas do segundo arquivo (right join) | Todas as linhas do segundo arquivo: as que coincidiram, na ordem do primeiro arquivo, seguidas das que não coincidiram com nada. |
| Todas as linhas dos dois arquivos (full join) | Todas as linhas dos dois arquivos: o resultado do left join seguido das linhas do segundo arquivo que não coincidiram com nada. |
| Ignorar maiúsculas/minúsculas e espaços nas pontas das chaves | C02 corresponde a c02. O texto da chave gravado no resultado é o do primeiro arquivo. |
O resultado tem todas as colunas do primeiro arquivo e, em seguida, as colunas do segundo, exceto as colunas-chave. Uma coluna do segundo arquivo com nome já usado recebe (2), por exemplo total (2), e os avisos listam as colunas renomeadas. Quando uma linha do segundo arquivo não coincide com nada, a chave dela é gravada na coluna-chave do primeiro arquivo e as outras colunas do primeiro ficam vazias.
Se uma chave aparece mais de uma vez no segundo arquivo, cada linha correspondente do primeiro é repetida uma vez por ocorrência. Os avisos contam as linhas combinadas, as que só existem no primeiro e as que só existem no segundo arquivo, as chaves repetidas de cada lado e as linhas a mais criadas. Assim, uma busca que deveria ser um para um mostra na hora quando não é.
Valores, cabeçalhos e delimitadores diferentes
- Os valores são texto e continuam exatamente como foram escritos, então
00123mantém os zeros à esquerda. As chaves também são comparadas como texto:00123e123não coincidem, nem ignorando maiúsculas e espaços. - Delimitadores, aspas e quebras de linha entre aspas dentro de um valor são lidos conforme a RFC 4180 e voltam a ficar entre aspas no download quando necessário.
- Dentro de um arquivo, um cabeçalho em branco vira
Column 3e um repetido viraname (2). Esses nomes gerados entram na associação por nome como qualquer outro. - Os arquivos podem usar delimitadores e codificações diferentes; cada um é detectado separadamente. O download é separado por vírgula, e as quebras de linha e a codificação seguem o primeiro arquivo da lista. Codificações que o navegador não consegue gravar, como Shift_JIS, são salvas em UTF-8.
Problemas ao empilhar ou cruzar arquivos
- Colunas aparecem duas vezes com nomes quase iguais. Os arquivos escrevem um cabeçalho de jeitos diferentes (
Emaileemail, ou com um espaço no fim). Renomeie um deles em Renomear e reordenar colunas do CSV antes de juntar ou, se os layouts forem idênticos, associe por posição. - A combinação por chave quase não encontrou correspondências. Confira se as chaves estão escritas do mesmo jeito nos dois arquivos: zeros à esquerda, prefixos e espaços fazem diferença. Ative a opção de ignorar maiúsculas/minúsculas e espaços nas pontas ou tire os espaços da coluna antes com Limpar dados do CSV.
- O resultado tem mais linhas do que o primeiro arquivo. O segundo arquivo repete uma chave; os avisos mostram quantas chaves se repetem e quantas linhas a mais elas criaram. Remova as duplicadas ou escolha um par de chaves mais específico.
- A tabela unificada passa do limite do navegador. O resultado pode ter no máximo 100.000 linhas e 2 milhões de células. Filtre os arquivos de entrada antes ou junte menos arquivos de cada vez.
Limites da junção e privacidade
Cada arquivo pode ter até 25 MB, 100.000 linhas, 250 colunas e 2 milhões de células, e o resultado empilhado ou combinado tem o mesmo teto de 100.000 linhas e 2 milhões de células. A junção não funciona em streaming: todos os arquivos são carregados na memória.
Os arquivos são lidos por um worker em segundo plano nesta aba e juntados no seu navegador. Eles nunca são enviados a um servidor. Para ver o que mudou entre duas versões de um arquivo, em vez de juntá-las, use Comparar arquivos CSV; para cortar um arquivo em vários, use Dividir arquivos CSV.
Exemplo: empilhar dois arquivos de estoque com colunas diferentes
Duas exportações de estoque com colunas diferentes, empilhadas por nome com a coluna do nome do arquivo ativada. name e warehouse existem em só um dos arquivos, então as linhas do outro ficam vazias nessas colunas, e os SKUs mantêm os zeros à esquerda.
march.csv sku,name,qty 00123,"Desk lamp, brass",4 00456,Shelf,2 april.csv sku,qty,warehouse 00789,10,North 00456,2,
sku,name,qty,warehouse,source_file 00123,"Desk lamp, brass",4,,march.csv 00456,Shelf,2,,march.csv 00789,,10,North,april.csv 00456,,2,,april.csv
Perguntas frequentes
Dá para combinar mais de dois arquivos por chave?
Não em uma única etapa. A combinação por chave usa os dois primeiros arquivos da lista. Baixe ou abra o resultado e depois combine-o com o próximo arquivo. Empilhar não tem esse limite e junta todos os arquivos que você adicionar.
Remover linhas repetidas compara só uma coluna-chave?
Não. Uma linha só é removida quando todos os valores são exatamente iguais aos de uma linha anterior. Para manter uma linha por ID, passe o resultado por Limpar dados do CSV e remova as duplicadas por coluna-chave lá.
Por que a associação por posição colocou valores sob o cabeçalho errado?
O modo por posição ignora os nomes dos cabeçalhos e usa os do arquivo com mais colunas. Se um arquivo tem uma coluna que os outros não têm, todos os valores seguintes se deslocam. Mude para a associação por nome.