csv rfc4180 data-formats excel standards

Padrão do Formato CSV: Domine a RFC 4180 para Portabilidade de Dados

Acha que o CSV é simples? Aprenda as regras da RFC 4180 para lidar corretamente com aspas, quebras de linha e vírgulas.

2026-04-11

Padrão do Formato CSV: Domine a RFC 4180 para Portabilidade de Dados

Valores Separados por Vírgula (CSV) é um dos formatos de troca de dados mais antigos e comuns. No entanto, por décadas, faltou-lhe uma definição formal, levando ao "inferno do CSV", onde arquivos criados em um aplicativo não abriam corretamente em outro. O RFC 4180 é o que temos de mais próximo de um padrão oficial de CSV.

O que é a RFC 4180?

Publicada em 2005, a RFC 4180 (Common Format and MIME Type for CSV Files) fornece uma especificação formal para melhorar a interoperabilidade. Ela define a estrutura de um arquivo CSV e o tipo MIME text/csv.

Muitos desenvolvedores assumem que o CSV é apenas "texto com vírgulas", mas a RFC 4180 esclarece as regras para casos complexos como:

  • Campos contendo vírgulas.
  • Campos contendo quebras de linha.
  • Campos contendo aspas duplas.

Princípios Core da RFC 4180

1. Separação de Registros

Cada registro (linha) deve estar em uma linha separada, terminada por uma quebra de linha (CRLF).

campo1,campo2,campo3[CRLF]

2. A Linha de Cabeçalho

Uma linha de cabeçalho opcional pode estar presente como a primeira linha do arquivo, com a mesma estrutura dos registros de dados.

3. Tratamento de Caracteres Especiais

É aqui que a maioria das implementações falha. A RFC 4180 especifica:

  • Vírgulas: Se um campo contém uma vírgula, ele deve estar entre aspas duplas.
  • Aspas Duplas: Se um campo contém uma aspa dupla, o campo deve estar entre aspas duplas, e a aspa dupla literal dentro do campo deve ser escapada precedendo-a com outra aspa dupla.
  • Quebras de Linha: Se um campo contém um CRLF, o campo deve estar entre aspas duplas.

Exemplo: Para representar o valor Ele disse, "Olá", o campo CSV torna-se "Ele disse, ""Olá""".


Cenários de Aplicação Prática

Exportando Dados para Excel

O Microsoft Excel é conhecido por usar configurações regionais (como ponto e vírgula em vez de vírgulas em alguns países europeus). Seguir a RFC 4180 garante a máxima compatibilidade, embora algumas versões do Excel ainda possam exigir um "Byte Order Mark" (BOM) para detectar corretamente a codificação UTF-8.

Migração de Dados

Ao mover dados entre bancos de dados (ex: PostgreSQL para MySQL), o uso de um parser CSV compatível com a RFC 4180 evita a corrupção de dados em campos de texto que contêm pontuação ou descrições de várias linhas.

Construindo Importadores de API

Se o seu aplicativo aceita uploads de CSV, seu parser deve ser estritamente compatível com a RFC 4180 para lidar corretamente com campos "entre aspas", evitando o erro comum de simplesmente dividir pela primeira vírgula encontrada.


CSV vs. JSON para Troca de Dados

Característica CSV (RFC 4180) JSON
Legibilidade Alta para humanos (tabular) Alta para máquinas (aninhado)
Tamanho do Arquivo Extremamente pequeno Moderado (overhead de metadados)
Estrutura Plana (linhas/colunas) Hierárquica (objetos/arrays)
Streaming Muito fácil Mais complexo

FAQ

P: Posso usar um ponto e vírgula (;) como separador na RFC 4180?
R: Não. Por definição, a RFC 4180 usa uma vírgula (,). O uso de ponto e vírgula é uma variação regional comum, mas não está em conformidade com o padrão RFC 4180.

P: Como eu lido com diferentes codificações de caracteres?
R: A RFC 4180 não exige estritamente uma codificação, mas o UTF-8 é o padrão de fato moderno. Ao usar UTF-8, adicionar um BOM no início do arquivo pode ajudar aplicativos mais antigos (como o Excel) a reconhecer a codificação.

P: Espaços são permitidos ao redor da vírgula?
R: A RFC 4180 afirma que os espaços são considerados parte do campo e não devem ser ignorados. campo1, campo2 contém um espaço no início do segundo campo.


Ferramentas Relacionadas