CSV (Comma-Separated Values) é um formato de texto tabular: cada linha é um registro; cada coluna é um campo separado por um delimitador — em muitos locales o Excel usa ponto e vírgula (;) em vez de vírgula.

O que a RFC 4180 diz

  • Primeira linha pode ser cabeçalho com nomes de coluna.
  • Campos que contêm o delimitador, aspas ou quebra de linha devem ir entre aspas duplas ".
  • Aspas internas são duplicadas: "Olá ""mundo""" representa Olá "mundo".

Por que CSV ainda importa

  • Exportações de ERP, BI e planilhas.
  • Pipelines de dados leves sem banco intermediário.
  • Interoperabilidade com ferramentas que não leem JSON nativamente.

Problemas típicos na conversão para JSON

  1. Encoding — arquivo salvo em Windows-1252 lendo como UTF-8 gera mojibake.
  2. Separador errado — vírgula vs ; vs tab (TSV).
  3. Linhas quebradas dentro de campo — só válidas se o campo estiver corretamente entre aspas.
  4. Tipos — tudo chega como string; números e datas precisam de parse explícito no destino.

Boas práticas

  • Padronize UTF-8 sem BOM quando possível.
  • Documente o separador e se há cabeçalho.
  • Para dados aninhados, JSON tende a ser mais fiel que “CSV achatado”.

Experimentar

Converta tabelas em objetos, ajuste delimitador e visualize o JSON resultante antes de copiar para o seu código.