Comece pela estrutura dos dados
JSON representa objetos, listas, cadeias de texto, números, booleanos e null. CSV é uma tabela de campos e registos sem o mesmo sistema de tipos integrado. Use CSV quando pretende linhas e colunas uniformes. Mantenha JSON para objetos aninhados ou listas de comprimento variável. Uma tabela bem apresentada não prova que todas as relações originais sobreviveram.
Mantenha os identificadores como texto
Um código como 00127 é um identificador, não necessariamente o número 127. Guarde-o como texto e importe a coluna da folha de cálculo como texto. O mesmo cuidado aplica-se a telefones e IDs numéricos muito grandes. Os números JavaScript normais não representam exatamente todos os inteiros acima de 9.007.199.254.740.991. Se a precisão importa, use texto entre aspas ou uma ferramenta que suporte explicitamente o intervalo necessário.
Deixe um analisador interpretar o CSV
Uma vírgula num campo entre aspas é um dado, não uma fronteira de coluna. O campo pode conter uma quebra de linha, e as aspas duplas internas precisam de escape. Dividir cada linha pelas vírgulas não chega. Verifique delimitador, cabeçalho, nomes de colunas repetidos e número de campos esperado. Não descarte silenciosamente os registos que falham a validação.
Defina a correspondência dos valores aninhados
Uma encomenda com vários artigos exige uma regra explícita de exportação. Pode usar uma tabela separada de artigos com o ID da encomenda ou manter a lista como texto JSON numa célula. Achatar objetos pode criar nomes ambíguos quando as chaves já incluem o separador escolhido. Registe a correspondência e use-a na reimportação. Ordenar chaves de um objeto não é o mesmo que alterar a ordem de uma lista.
Teste primeiro uma pequena ida e volta
Converta uma amostra representativa, importe-a novamente e compare contagens e valores selecionados. Inclua acentos, cadeias vazias, null, aspas e texto multilinha. Ao abrir CSV não fiável numa folha de cálculo, examine células que possam ser interpretadas como fórmulas e use os controlos de importação de texto. Guarde o original e as definições. Estas verificações detetam alterações de significado que uma transferência bem-sucedida não revela.
www.rfc-editor.org · developer.mozilla.org
