CSV
Formatos de Dados
CSV (Comma-Separated Values) representa uma tabela em texto puro: uma linha por registro, campos separados por um delimitador. O nome sugere vírgula, mas no Brasil é comum usar ponto e vírgula (;) como delimitador — porque a vírgula já é o separador decimal do português (1.234,56).
cnpj;razaoSocial;municipio;aliquota
12345678000199;Empresa Exemplo LTDA;São Paulo;3,50
98765432000188;"Comércio & Cia, Serviços";Campinas;5,00Quando um campo contém o próprio delimitador (a "Comércio & Cia, Serviços" acima), ele precisa ser envolvido em aspas — e uma aspa dentro do campo se escapa duplicando (""). Um detalhe fiscal específico: os layouts do SPED (Fiscal, Contribuições) não são CSV de verdade — usam | (pipe) como delimitador e cada linha termina em |, uma convenção própria da Receita Federal, diferente do CSV "de planilha".
CSV não tem um formato de dado próprio para chave/valor — o cabeçalho é só a primeira linha de texto — mas, na hora de mapear cada coluna para um campo (ex.: ao converter para JSON), o nome do cabeçalho é comparado como string, e strings em CSV/texto puro são case sensitive: um cabeçalho CNPJ não casa automaticamente com um mapeamento esperando cnpj.
O problema mais comum ao importar CSV exportado do Excel é o charset: por padrão, o Excel salva CSV em Windows-1252 ou ISO-8859-1, não UTF-8 — abrir esse arquivo assumindo UTF-8 embaralha os acentos (veja a seção Charset & Encoding). Use o conversor de CSV para JSON, XML e YAML para transformar uma planilha sem depender de macro.