O formato CSV é um padrão usado para trocar dados estruturados entre empresas ou diferentes aplicações de software. Ele é baseado em texto e usa sinais de pontuação como delimitadores para separar as colunas.

Veja um exemplo dos dados de um arquivo CSV:

firstName, lastName, email
Joe, Vaughn, vaugh@hotmail.com
Bob, Cunnighan, bobc@gmail.com

Os arquivos CSV podem ser exportados pela maioria das ferramentas que trabalham com dados, incluindo CRM, sistemas de gestão de pedidos, planilhas (Google Sheets ou Microsoft Excel) e soluções financeiras. No futuro, talvez tenhamos modelos de dados unificados para transferir dados estruturados entre aplicações. Até lá, precisamos contar com os arquivos CSV.

Para juntar dois arquivos CSV por uma coluna em comum, importe o primeiro arquivo, defina a coluna correspondente como única e, em seguida, importe o segundo arquivo para a mesma coleção usando uma opção de merge. A coleção resultante mantém as linhas originais e adiciona os valores correspondentes do segundo arquivo. Por exemplo, junte customers.csv (Email, Name) com jobs.csv (Email, Job Title) usando Email; um cliente com um email correspondente recebe o Job Title sem que uma segunda linha seja criada para ele.

Quando é preciso manipular arquivos CSV, a solução mais comum é recorrer a uma planilha. Carregar um arquivo CSV no Google Sheets ou no Microsoft Excel é simples. No entanto, essas ferramentas apresentam limitações em duas operações básicas:

Se você só precisa comparar duas exportações CSV e identificar linhas adicionadas, removidas ou alteradas, use a CSV Diff Tool em vez de juntar os arquivos.

Ao realizar uma operação de join, usamos uma coluna em comum para combinar dados de várias fontes. As planilhas não permitem definir uma restrição de unicidade em uma coluna e, por isso, oferecem recursos limitados para juntar arquivos CSV ou eliminar duplicados.

Este guia está dividido em duas partes:

Neste tutorial, usamos dois arquivos CSV de demonstração:

Solução 1: Juntar arquivos CSV por uma coluna com Datablist

Manipular dados é simples com o Datablist. Veja como juntar arquivos CSV por um identificador único. Para começar, abra o Datablist sem precisar criar uma conta.

Passo 1: Carregue o primeiro arquivo CSV

O primeiro passo é criar uma coleção para reunir todos os dados dos seus arquivos CSV. Clique no botão + da barra lateral para criar uma nova coleção.

Depois de criar a coleção, acesse a seção "Import CSV".

Crie uma nova coleção

Observação: a primeira linha do arquivo CSV deve conter os nomes das colunas.

Arraste e solte um arquivo CSV ou clique para selecionar um arquivo no computador. Depois que ele for carregado, confirme se o número de linhas e colunas exibido na prévia está correto antes de avançar.

Associe as colunas do CSV às propriedades da coleção ou crie novas propriedades.

Por fim, clique no botão "Import" para iniciar a importação. Seu primeiro arquivo CSV foi importado!

Importe seu primeiro CSV

Passo 2: Defina a coluna do identificador único

Agora que você importou o primeiro arquivo CSV, pode definir uma restrição de "Unique Values" em uma propriedade da coleção. Com essa configuração, o Datablist fará o merge das novas importações CSV respeitando a restrição. Acesse a configuração das colunas e edite a propriedade que servirá como identificador único. Marque o atributo "Unique Values" e salve.

Adicione uma restrição de valores únicos a uma propriedade

Passo 3: Carregue um ou mais arquivos CSV

Depois de configurar uma restrição de unicidade em uma propriedade da coleção, importe os outros arquivos CSV, um de cada vez, para a coleção existente. Se necessário, crie novas propriedades durante a etapa de associação das colunas do CSV.

Quando a coleção já contém itens e possui uma restrição de unicidade, a importação permite selecionar o tipo de join e o modo de merge. Escolha Import only matching rows se quiser enriquecer apenas os clientes que já estão na coleção. Se as linhas sem correspondência do novo arquivo também tiverem que ser adicionadas como novos itens, escolha Import all rows and match when possible.

Modo de merge
Modo de merge

Selecione como os dados devem ser incorporados à coleção:

  • Soft Merge: preenche as propriedades vazias do item correspondente, mas preserva os valores existentes. Use essa opção quando o primeiro arquivo deve continuar sendo a fonte principal.
  • Hard Merge: substitui os valores das propriedades existentes pelos valores da linha correspondente no novo arquivo. Use essa opção quando o segundo arquivo contém dados mais recentes.

A opção "Skip item" ignora a linha quando encontra na coleção um registro com o mesmo valor de identificador. Ela não deve ser selecionada para juntar arquivos CSV.

Confira a prévia antes de importar. A propriedade Email de cada arquivo deve ser associada à mesma propriedade da coleção. Identificadores em branco não permitem encontrar correspondências de forma confiável, e identificadores duplicados em um arquivo de origem precisam ser revisados antes de serem usados como chave única. Após a importação, confira alguns emails correspondentes e confirme se o Job Title esperado aparece na linha existente.

Opções de merge de CSV
Opções de merge de CSV

Passo 4: Exporte para CSV, se necessário

Parabéns! 🎉 Você combinou seus arquivos CSV usando uma coluna em comum. Se precisar usar o resultado em outra ferramenta, clique no botão "Export" para exportar a coleção como um novo arquivo CSV.

Exportação CSV
Exportação CSV

Vídeo completo: como juntar arquivos CSV com Datablist

No vídeo abaixo, a configuração "Unique Values" é definida diretamente durante a criação da propriedade.

Junte arquivos CSV por uma coluna única com o Datablist

Solução 2: Juntar arquivos CSV com Google Sheets ou Excel

As ferramentas de planilhas oferecem recursos limitados para mesclar arquivos CSV por uma coluna em comum. No entanto, uma fórmula pode localizar em outra tabela a linha que corresponde a determinado valor. Quando aplicada a todas as linhas de uma tabela, ela consegue pesquisar em outra tabela e retornar o valor de qualquer coluna da linha correspondente.

A fórmula é VLOOKUP e está disponível no Microsoft Excel e no Google Sheets.

Limitações

  • Nas planilhas, um dos arquivos CSV é usado como tabela principal e deve conter todos os valores possíveis da coluna de join.
  • Em todas as tabelas secundárias, a coluna usada no join deve ser a primeira.

Passo 1: Carregue seus arquivos CSV

Neste tutorial, usamos o Google Sheets. A fórmula VLOOKUP funciona de forma semelhante no Microsoft Excel.

Entre seus arquivos CSV, escolha como tabela principal aquele que contém mais valores. Os demais serão chamados de arquivos CSV secundários.

Primeiro, carregue o arquivo CSV principal por meio de File -> Import e selecione o CSV. Acesse a aba Upload para usar um arquivo armazenado no computador.

Em Import Location, selecione Insert new sheet(s).

Carregue um arquivo CSV no Google Sheets
Carregue um arquivo CSV no Google Sheets

Repita essa operação com os arquivos CSV secundários. Cada arquivo CSV deve ser carregado em uma tabela separada na planilha.

Arquivos CSV importados no Google Sheets
Arquivos CSV importados no Google Sheets

Passo 2: Crie novas colunas na planilha principal

A tabela que contém o CSV principal é a sua tabela principal e receberá os valores das outras tabelas. Nessa tabela, crie novas colunas para armazenar os dados vindos das demais tabelas.

Neste tutorial, queremos transferir o dado Job Title da tabela secundária para a tabela principal. Por isso, adicionamos uma coluna Job Title vazia.

Nova coluna Job Title
Nova coluna Job Title

Passo 3: Mova a coluna única para o início das tabelas secundárias

A fórmula VLOOKUP realiza a pesquisa na primeira coluna da tabela consultada. Em todas as tabelas secundárias — não é necessário fazer isso na tabela principal —, mova para a primeira posição a coluna que será usada no join.

A coluna de identificação deve ser a primeira
A coluna de identificação deve ser a primeira

Passo 3: Use a fórmula VLOOKUP

A etapa final é usar a fórmula VLOOKUP para encontrar linhas nas outras tabelas e exibir uma coluna da linha correspondente.

A fórmula recebe quatro argumentos; o último determina se a pesquisa espera dados ordenados:

  • search_key - O valor que será procurado. Ele corresponde ao valor do identificador único da linha.;
  • range - O intervalo considerado na pesquisa. A chave especificada em search_key é procurada na primeira coluna do intervalo. Defina toda a tabela secundária como o intervalo (veja o vídeo).
  • index - O índice da coluna cujo valor deve ser retornado. A primeira coluna do intervalo recebe o número 1.
  • is_sorted - [TRUE por padrão] - Indica se a coluna pesquisada — a primeira do intervalo especificado — está ordenada. FALSE é recomendado na maioria dos casos. Se você usar True quando os dados não estiverem ordenados, os resultados estarão errados!
VLOOKUP(search_key, range, index, [is_sorted])

Assista ao vídeo abaixo para entender como usar VLOOKUP e juntar dados por uma coluna única:

Junte arquivos CSV por uma coluna única no Google Sheets

Saiba mais sobre a fórmula VLOOKUP na documentação do Google Sheets.

Repita a operação para todas as outras colunas das tabelas secundárias 💪.