O que esta ferramenta faz
A linha de cabeçalho vira as chaves, e cada linha seguinte um objeto do array. Os valores são tipados em vez de citados às cegas: 30 sai como o número 30, true como booleano.
O delimitador é detectado na leitura, então um export europeu separado por ponto e vírgula funciona sem ajuste nenhum.
O que a detecção de tipos mexe e o que ela deixa
Estas são as regras que importam, porque é aí que os conversores costumam destruir dados:
- um zero à esquerda mantém o valor como string —
01continua"01"; - notação hexadecimal e exponencial continuam strings:
0x10e1e5não são números aqui; - um sinal de mais explícito mantém o texto,
+7continua string, enquanto-3vira número; trueefalseviram booleanos, diferenciando maiúsculas —TRUEcontinua string;- um campo vazio vira string vazia, nunca
null; - o texto
nullcontinua a string"null", porque CSV não tem como expressar ausência.
E mais uma, fácil de escapar: o espaço junto ao delimitador faz parte do campo. Em 1, 2 o segundo valor é " 2" — uma string, com o espaço — e não o número 2.
Quando uma linha não bate com o cabeçalho
É um erro, e de propósito. Tanto Too many fields quanto Too few fields informam quantos campos eram esperados e quantos foram lidos, o suficiente para localizar a linha. Preencher ou cortar em silêncio deslocaria todas as colunas seguintes e devolveria um arquivo de aparência correta.
Linhas realmente vazias são puladas. Uma linha com todos os campos vazios é mantida: ela é uma linha de verdade.
Privado por padrão
Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.