ForHosting KIT · Dados e planilhas

Combine dois CSV por chave e encontre linhas sem correspondência

Combine dois arquivos CSV por uma chave quando uma tabela trouxer os registros principais e a outra acrescentar campos relacionados.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Cole os dois textos CSV, informe o cabeçalho compartilhado e receba uma junção à esquerda previsível sem configurar banco de dados nem escrever um script temporário. A resposta também separa os registros sem correspondência de cada lado, facilitando a conferência. Valores entre aspas, chaves repetidas, conflitos de cabeçalho e terminações de linha comuns são tratados de forma determinística.

Prepare dois arquivos CSV com uma chave compartilhada confiável

Primeiro, identifique a coluna que representa o mesmo item nos dois arquivos, como customer_id, order_number, sku ou email. A grafia do cabeçalho deve coincidir exatamente com o valor da chave enviado, inclusive maiúsculas e espaços. Todos os outros cabeçalhos podem ser diferentes. O CSV esquerdo é a tabela principal: cada registro dele permanece no resultado combinado, mesmo quando não existe registro correspondente à direita. O CSV direito fornece colunas adicionais quando a chave coincide. Prefira um identificador estável. Nomes e descrições podem mudar, conter espaçamento inconsistente ou se repetir, enquanto um identificador de sistema costuma ser mais seguro. O analisador aceita campos entre aspas, aspas duplas escapadas, vírgulas em valores entre aspas, quebras de linha incorporadas, arquivos CRLF e uma marca de ordem de bytes UTF-8 inicial. Se os dois arquivos usarem outro separador, informe esse delimitador de um caractere. As duas entradas precisam usar o mesmo delimitador. Nomes de coluna vazios ou duplicados são recusados porque tornariam os objetos resultantes ambíguos. A capacidade também apresenta um erro claro quando o cabeçalho da chave não existe em um dos CSV.

Entenda a junção à esquerda e o comportamento de chaves duplicadas

Para cada registro do CSV esquerdo, a capacidade procura registros no CSV direito cujo texto da chave seja exatamente igual. Uma correspondência gera um registro combinado. Sem correspondência, ainda é gerado um registro unido: os campos originais da esquerda são preservados e todos os campos fornecidos pela direita ficam como strings vazias. Quando o arquivo direito contém vários registros com a mesma chave, o registro esquerdo se expande em uma linha de saída para cada correspondência. Esse comportamento de um para muitos é útil ao ligar um cliente a várias assinaturas ou um produto a vários estoques, mas pode aumentar a quantidade de linhas. Chaves duplicadas à esquerda são processadas separadamente e mantêm a ordem original. Linhas e correspondências seguem a ordem das fontes, garantindo um resultado determinístico. A chave compartilhada aparece somente uma vez no objeto combinado. Se um cabeçalho direito que não seja a chave já existir à esquerda, ele recebe o prefixo right_ para não sobrescrever valores. Outros prefixos são acrescentados quando necessário para manter todos os nomes únicos. O array columns informa a ordem e os nomes finais antes que você consuma joined_rows.

Use os relatórios sem correspondência para conciliar dados com segurança

O array unmatched_left contém os registros esquerdos originais cuja chave não encontrou equivalente à direita. Essas entradas continuam em joined_rows porque a operação é uma junção à esquerda, mas a lista separada permite encaminhá-las para correção, enriquecimento ou revisão. O array unmatched_right reúne registros direitos originais que não foram usados por nenhum registro esquerdo. Eles não aparecem na tabela unida, porém frequentemente revelam dados de referência obsoletos, identificadores novos inesperados ou um arquivo do período errado. Os totais resumem o tamanho das duas fontes, o tamanho expandido da junção e as quantidades sem correspondência, simplificando verificações automáticas. Um fluxo pode rejeitar a importação quando unmatched_left for maior que zero ou alertar quando unmatched_right ultrapassar um limite. A comparação é exata e não remove espaços, normaliza maiúsculas nem reinterpreta números; assim, 001, 1 e 1 com espaço final continuam distintos. Essa regra conservadora evita associações acidentais. Normalize as chaves antes da chamada quando suas regras permitirem tratar esses valores como equivalentes. Por US$ 0,002 por solicitação na API, a operação atende tanto importações recorrentes quanto análises pontuais.

Enriqueça exportações de clientes

Acrescente plano, território ou responsável usando um CSV de referência e preserve todos os clientes da exportação principal.

Concilie pedidos e pagamentos

Una transações pelo número do pedido e confira pedidos sem pagamento ou pagamentos ligados a pedidos desconhecidos.

Audite a cobertura do catálogo

Combine a lista mestre de SKU com dados do fornecedor e encontre produtos incompletos e linhas não utilizadas.

O que acontece quando falta a coluna da chave?

A solicitação falha com um erro de entrada que informa se a chave está ausente no CSV esquerdo ou direito.

A operação mantém todas as linhas da esquerda?

Sim. É sempre uma junção à esquerda; linhas sem correspondência recebem strings vazias nos campos da direita.

Como as chaves duplicadas são tratadas?

Cada registro esquerdo é combinado com todos os registros direitos correspondentes, podendo gerar várias linhas.

E se os dois arquivos tiverem uma coluna com o mesmo nome?

A coluna esquerda mantém o nome, e a direita recebe o prefixo right_, com prefixos extras se necessário.

As chaves são limpas antes da comparação?

Não. A comparação exata preserva espaços, maiúsculas e zeros iniciais; normalize os valores antes se suas regras exigirem.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/data/merge-csv-on-key

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/data/merge-csv-on-key \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"left_csv":"id,name\n1,Ada\n2,Linus\n3,Grace","right_csv":"id,team\n1,Research\n2,Platform\n4,Support","key":"id"}'
{
  "left_csv": "id,name\n1,Ada\n2,Linus\n3,Grace",
  "right_csv": "id,team\n1,Research\n2,Platform\n4,Support",
  "key": "id"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.merge_csv_on_key",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_mb25
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →