Passar de CSV para JSON sem perder dados
Publicado em · Atualizado em 2 min de leitura
Um arquivo CSV é uma tabela escrita em texto, uma linha por registro, com as colunas separadas por um caractere. O JSON é outra maneira de escrever dados, mais prática para programas e sites. Converter de um para o outro parece simples, mas quatro detalhes costumam fazer perder ou deformar dados.
O separador
Em um CSV, as colunas são separadas por vírgula ou, muito comumente na França, por ponto e vírgula. A razão está nos números: em francês, escreve-se 24,5 com vírgula, que não pode então servir para separar colunas. A ferramenta reconhece os dois separadores, de modo que um arquivo salvo de uma planilha francesa é lido corretamente, com 24,5 em uma única coluna.
As aspas
Quando um valor contém o próprio separador, ele é escrito entre aspas, por exemplo «rega: manhã, tarde». A ferramenta mantém então esse valor em um só pedaço. Se o texto contém aspas, elas são duplicadas no CSV e viram aspas escapadas no JSON, por exemplo «zona "norte"».
Os números
Todos os valores chegam como texto no JSON, números incluídos: 18 vira "18" e 24,5 vira "24,5". É o ponto a conhecer se um programa lê depois o arquivo. Um programa que espera um número de verdade não entenderá "24,5": será preciso trocar a vírgula por um ponto e tirar as aspas em volta dos valores numéricos.
Os campos vazios
Um campo vazio do CSV vira uma cadeia vazia no JSON, duas aspas sem nada entre elas, e não o valor «null». Se o seu programa distingue «vazio» de «ausente», preveja essa etapa de limpeza.
Em que casos converter
Uma planilha exportada de uma loja, uma lista de contatos ou uma série de medições é convertida em JSON quando um site ou programa precisa lê-la. A conversão inversa serve para abrir em uma planilha dados recebidos de um serviço on-line.
Conferir o resultado
Compare o número de linhas do CSV e o do JSON e depois abra o arquivo obtido. Olhe primeiro as colunas que contêm decimais, acentos ou vírgulas: é onde os erros aparecem.
Para fazer o caminho inverso, veja JSON para CSV.
Perguntas frequentes
- Por que meus números viram texto no JSON?
- A ferramenta escreve todos os valores como texto, números incluídos. Se um programa espera um número de verdade, troque a vírgula decimal por um ponto e tire as aspas em volta dos valores numéricos.
- Meu CSV usa ponto e vírgula, ele é lido corretamente?
- Sim, a ferramenta reconhece o ponto e vírgula como a vírgula, o que corresponde às planilhas em francês.
- O que acontece com uma célula vazia?
- Ela vira uma cadeia vazia no JSON, não o valor «null».
- Como manter uma vírgula dentro de um valor?
- Ela deve estar entre aspas no CSV, como «rega: manhã, tarde». A ferramenta mantém então o valor em um só pedaço.
