Converter um CSV em JSON
Cada linha um objeto, cada cabeçalho uma chave.
- Array, JSON Lines ou arrays
- Números e booleanos detectados
- IDs continuam strings
- Nada é enviado
1.Abrir o arquivo
CSV ou TSV. Arraste para cá ou escolha um arquivo.
Por que existe
De CSV para JSON parece o caminho fácil, e os conversores comuns o deixam fácil errando os tipos: tudo vira string, ou tudo que parece número vira número, inclusive o CEP com zero à esquerda e o ID de 18 dígitos que o JavaScript não consegue representar com exatidão. Aqui cada coluna é decidida a partir de todos os seus valores, e o que só parece número é deixado em paz.
O que ele faz
- Gera um array de objetos com as chaves da linha de cabeçalho, JSON Lines com um objeto por linha, ou um array de arrays com o cabeçalho primeiro.
- Detecta colunas inteiramente numéricas ou de verdadeiro/falso e as grava sem aspas.
- Mantém como string as colunas com zeros à esquerda ou mais de 15 dígitos, porque um número JSON as alteraria.
- Transforma células vazias em null em vez de string vazia, ou mantém tudo como string se você preferir.
- Indenta para leitura, ou gera o menor arquivo possível.
Qual formato escolher
Um array de objetos é o que a maioria das APIs e do código JavaScript espera. JSON Lines serve para arquivos grandes e ferramentas de dados que processam um registro por vez, como BigQuery, Elasticsearch e jq. Um array de arrays é o mais compacto e deixa a ordem das colunas explícita.
Perguntas
- Por que minha coluna de ID continua string?
- Porque transformá-la em número a alteraria. Qualquer parser JSON descarta o zero à esquerda, e inteiros com mais de 15 ou 16 dígitos perdem precisão no JavaScript. Se todos os valores de uma coluna são números simples sem nenhum dos dois problemas, ela é gravada como número.
- O que acontece com células vazias?
- Viram null quando a detecção de tipos está ligada, já que um CSV não tem como distinguir uma string vazia de um valor ausente. Com a detecção desligada, todo valor, inclusive os vazios, é string.
- Ele lida com JSON aninhado?
- O CSV é plano, então o JSON gerado também é: um nível de chaves por registro. O caminho inverso, de JSON aninhado para CSV, é o que a ferramenta de JSON para CSV faz.
As outras ferramentas
- Abrir um arquivo CSV no navegadorSolte um arquivo. Ele abre aqui e fica aqui.Abrir
- Rodar SQL em um arquivo CSVSQL de verdade no seu arquivo, sem instalar um banco de dados.Abrir
- Unir arquivos CSV em um sóVários arquivos entram, um sai, colunas associadas pelo nome.Abrir
- Remover linhas duplicadas de um CSVDuplicatas nas colunas que você diz que identificam uma linha.Abrir
- Comparar dois arquivos CSVAdicionado, removido, alterado, associado por uma chave e não linha a linha.Abrir
- Converter um CSV em PDFUm CSV montado como tabela legível e salvo como PDF.Abrir
- Converter um CSV em ExcelUm .xlsx de verdade, sem nada alterado no caminho.Abrir
- Converter JSON em CSVUma árvore achatada em uma tabela que abre em qualquer lugar.Abrir
- Converter Excel em CSVTodas as planilhas de um arquivo, em CSV UTF-8 limpo.Abrir
- Dividir um arquivo CSVUm arquivo grande demais para usar, em vários que não são.Abrir
- Limpar um CSV bagunçadoBrasil, brasil e “Brasil ” voltam a ser um só valor.Abrir
- Converter um CSV em comandos SQL INSERTEntra um CSV, sai um script .sql que qualquer banco executa.Abrir