Converter NDJSON para XLSX

Aqui você converte NDJSON para XLSX de graça e sem conta: solte o arquivo acima e em poucos segundos o resultado está pronto para baixar. A conversão acontece dentro do seu próprio navegador, então o arquivo nunca é enviado. Funciona igual no Windows, no macOS e no Linux e também no iPhone e no Android, e continua funcionando mesmo se você cortar a conexão.

  • Onde roda No seu navegador. O arquivo nunca é enviado.
  • Reconstruído XLSX funciona de um jeito diferente de NDJSON. Não é a degradação gradual de um codec com perda: o que XLSX consegue expressar é reproduzido fielmente, e o que não tem equivalente ali não sobrevive de jeito nenhum.
  • Limite de tamanho Até 100 MB por arquivo, de graça e sem conta.
  • Vale saber Objetos aninhados são achatados em colunas. Dados muito aninhados perdem a forma.

Até 100 arquivos de uma vez. Formatos misturados não são problema.

O destinatário é uma pessoa, e isso decide o formato

Esta é a única conversão de arquivo delimitado por linha neste site voltada a um ser humano. Toda outra saída — CSV para um carregador, SQL para um banco de dados, Parquet para um motor de consulta — presume software do outro lado. Uma planilha presume alguém que vai abrir, alargar uma coluna e ordenar por data.

Se o arquivo vai para um pipeline, esta é a página errada — CSV ou Parquet é a certa. Se vai para um colega, um cliente ou um time financeiro, uma planilha evita a conversa que vem depois de um arquivo de texto: como abro isso, por que os números de referência vieram errados, qual é qual coluna.

Tipo de célula declarado é o que você realmente está comprando

Um arquivo delimitado não tem tipo algum, então o Excel infere um por coluna ao abrir. Essa inferência é onde o dano conhecido acontece: zero à esquerda some de código de conta e produto, qualquer coisa com cara de data vira data, e identificadores longos perdem os últimos dígitos por ponto flutuante.

Os registros num arquivo NDJSON já carregam o próprio tipo — uma quantidade é número, um sinalizador é booleano, um código exportado como string continua string. Escrever isso numa planilha preserva essa distinção no próprio arquivo, então nada é adivinhado ao abrir, e um código 00714 chega como 00714.

Campos aninhados viram colunas com ponto

Um campo cujo valor é um objeto vira uma coluna por folha, com o caminho como cabeçalho: um objeto usuário aninhado com um nome chega como coluna chamada user.name. Arrays achatam por posição, então uma lista tags de a e b vira tags.0 e tags.1.

A consequência é largura, não perda — e largura é problema próprio quando o destinatário é uma pessoa. Um registro de evento com bloco de requisição, bloco de usuário e objeto de contexto pode chegar a trinta colunas a partir de seis campos.

Uma planilha só, nomeada a partir do arquivo

A pasta de trabalho tem uma única planilha, porque um arquivo separado por linha é um fluxo único de registros sem divisões internas para mapear em abas. O nome vem do nome do arquivo sem a extensão, cortado em 31 caracteres — o limite que um nome de planilha tem.

Se o extrato de fato tem vários tipos de registro, várias pastas de trabalho ou várias conversões de arquivos filtrados produzem um resultado bem mais utilizável do que uma única planilha com uma coluna discriminadora.

Linhas com campos diferentes produzem uma planilha esparsa

Cada linha na origem é independente, e nada exige que a segunda tenha as chaves da primeira. A conversão reúne toda chave vista em qualquer lugar do arquivo e dá uma coluna para cada uma, deixando célula vazia onde uma linha não tem valor para aquele campo.

Nada é descartado, e um arquivo misturando três tipos de evento produz uma planilha onde cada linha usa um terço das colunas. Para quem recebe, isso lê como uma exportação quebrada mesmo sendo fiel. Filtrar a origem para um tipo de evento antes de converter costuma valer o passo extra.

Contagem de linhas, e o que uma planilha aguenta bem

Uma linha vira uma linha, então a contagem de linhas é a contagem de linhas do arquivo menos linhas em branco. Isso é conhecível antes de converter: `wc -l`, ou o número de linha no rodapé de um editor.

Vale conferir contra o que uma planilha aguenta com conforto: algumas milhares de linhas abre instantaneamente; algumas centenas de milhares abre devagar e produz um arquivo que muitos sistemas de e-mail recusam. Passado isso, agregar antes de converter é a resposta certa.

O que olhar antes de anexar num e-mail

Duas checagens levam um minuto juntas. Primeiro, conte as colunas: uma planilha muito mais larga que a lista de campos indica um bloco aninhado ou array achatado, e vale decidir se o destinatário precisa dessas colunas. Segundo, olhe as colunas de identificador e data e confirme que leem como esperado.

E leia o que de fato está lá dentro. Um extrato separado por linha é saída de máquina, e costuma conter todo campo que o sistema emite — identificador interno, sinalizador, referência de rastreamento, ocasionalmente um e-mail que ninguém esperava.

De onde vêm os números, e para onde vão

Valores são escritos como os registros os guardavam, sem arredondamento, reformatação ou localização aplicada. Um preço de 12,5 é o número 12,5 na célula, exibido conforme o Excel do destinatário estiver configurado, e um timestamp exportado como string ISO continua string em vez de virar data serial do Excel.

Essa última é um limite deliberado: um timestamp ISO é texto em JSON, e transformá-lo em data do Excel exigiria adivinhar um fuso horário. Se o destinatário precisa de datas ordenáveis, uma fórmula ou etapa de texto para colunas na planilha é a rota confiável.

A planilha é escrita na sua máquina

As duas metades rodam nesta aba: o arquivo é lido linha por linha e a planilha é montada por uma biblioteca carregada sob demanda. Nada é enviado, não há conta nem fila, e o limite gratuito aceita até 100 MB com a memória como teto real.

Para este par a propriedade de privacidade é mais que um argumento de marketing, porque o extrato por definição está prestes a ser compartilhado. Converter num serviço de terceiros significa que o dado chega a dois destinatários em vez de um.

Quando CSV, Parquet ou o arquivo original é a entrega melhor

Mande um CSV quando o destinatário é um sistema, ou quando a planilha saiu larga demais para ler e um arquivo delimitado vai para um script de qualquer forma. Mande Parquet quando o destino é um motor de consulta. Mande o próprio NDJSON quando o destinatário é um engenheiro, porque é a única versão que ainda tem a estrutura.

A planilha é a resposta certa para uma situação bem específica e comum: uma pessoa que precisa olhar esses dados hoje, sem instalar nada, e que vai julgar a exportação pelo fato de as colunas fazerem sentido de relance.

Como converter NDJSON para XLSX

  1. Solte o seu arquivo NDJSON nesta página, ou clique para escolher um.
  2. Escolha XLSX como destino. A conversão acontece no seu navegador e o arquivo não é enviado.
  3. Baixe o arquivo XLSX pronto.

NDJSON ou XLSX: o que muda

NDJSON comparado com XLSX
NDJSONXLSX
Nome completoNewline-Delimited JSONPasta de trabalho do Excel
Extensão do arquivo.ndjson, .jsonl.xlsx
Tipo de mídiaapplication/x-ndjsonapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Publicado pela primeira vez20132007
Publicado porMicrosoft
EspecificaçãoECMA-376
LicençaPadrão abertoPadrão aberto
Situação hojeAtualAtual
Abre no navegadorNenhum navegadorNenhum navegador
Considerado no lugarJSON, CSVCSV, ODS, Parquet

Abrir o resultado

Os programas de sempre não se cruzam: NDJSON abre em jq e pandas, e XLSX em Microsoft Excel, LibreOffice Calc e Google Sheets, então quem receber o resultado precisa de algum do segundo grupo.

Para que serve cada formato

Os dois miram trabalhos diferentes: NDJSON em mover dados entre programas e a transmissão, XLSX em a edição. Vale pesar isso antes, porque o motivo de um existir costuma ser o motivo de o outro ser incômodo.

XLSX vem da Microsoft é de 2007, descrito em ECMA-376. Microsoft Excel, LibreOffice Calc e Google Sheets leem o formato.

De NDJSON para XLSX: perguntas frequentes

Meu arquivo NDJSON é enviado para algum lugar?

Não. Esta conversão acontece inteiramente no seu navegador, então o arquivo não sai do seu aparelho. Você mesmo pode conferir: abra a aba de rede das ferramentas de desenvolvedor e converta alguma coisa. Você verá a própria página e as requisições de estatística e de publicidade com que este serviço é pago, e nenhuma que leve o seu arquivo. O motor deste par específico é SheetJS, um leitor e gravador de planilhas em JavaScript; seu navegador baixa isso uma vez e guarda.

Converter NDJSON para XLSX é grátis?

É. Sem conta, sem marca d’água e sem cota diária para gastar: roda no seu próprio aparelho, então você pode voltar quantas vezes quiser. O navegador processa arquivos de até 100 MB, 100 por vez. SheetJS é baixado para a sua máquina e roda lá, e por isso não há contador.

Perde qualidade ao converter NDJSON para XLSX?

NDJSON e XLSX descrevem o conteúdo de maneiras radicalmente diferentes. A conversão é, portanto, uma reconstrução e não uma cópia: fiel, mas não idêntica byte a byte. Objetos aninhados são achatados em colunas. Dados muito aninhados perdem a forma.

Preciso instalar alguma coisa para abrir um arquivo XLSX?

Para a conversão, não: ela acontece no navegador que você já tem aberto. Para abrir o resultado você precisa depois do programa com que o seu aparelho normalmente exibe Excel Workbook.

Mais sobre esses formatos