Português (Brasil)

Dados e planilhas · CSV Limpador

RFC 4180 Explicado: a coisa mais próxima que CSV tem de um padrão oficial

· Fundo

csv rfc-4180 formatos de dados

Registros CSV com separadores de vírgula, terminações CRLF e aspas duplas alinhadas em uma saída consistente
Ilustração vetorial original ToolAcre

CSV existiu por décadas antes que alguém o escrevesse. Esta postagem aborda RFC 4180, o que realmente diz sobre delimitadores, citações, finais de linha e cabeçalhos, e por que os arquivos do mundo real ainda os ignoram.

Dois arquivos CSV 'válidos' que nenhum analisador lê corretamente - por que o formato cresceu por décadas sem um padrão

Dois arquivos podem ter uma extensão .csv, enquanto um usa ponto e vírgula, outro tabulações e cada um aplica aspas de maneira diferente. Um analisador deve conhecer um dialeto antes que a pontuação se torne estrutura. ToolAcre começa com quatro candidatos e pontua as formas de amostra analisadas em vez de confiar na extensão.

Essa flexibilidade explica por que “CSV válido” costuma ser uma descrição incompleta. O limpador pode aceitar desvios comuns e então serializar um resultado consistente. Seu comportamento é definido por configuração e testes, proporcionando um contrato mais útil do que assumir que cada produtor segue perfeitamente um memorando.

O que é RFC 4180 — um memorando informativo de 2005 que documenta práticas comuns, não um padrão vinculativo

O repositório nomeia repetidamente RFC 4180 como a convenção de saída, mas não é uma fonte para reivindicações históricas sobre a data ou status legal do memorando. Este artigo, portanto, concentra-se nas regras incorporadas pela implementação: finais de registro, cotação, largura do cabeçalho e tratamento de delimitadores.

Quando o histórico de padrões externos for importante, cite a publicação principal separadamente. Para usar ToolAcre, a evidência relevante é local: o código padrão é CRLF, cita caracteres estruturais, dobra aspas internas e relata uma linha cuja largura difere do cabeçalho.

A evidência do repositório usa RFC 4180 como convenção de destino; o histórico de publicação está fora do conjunto de origem

O destino configurado descreve saída delimitada por vírgula, finais de linha CRLF, um conceito de cabeçalho opcional e linhas retangulares. Na rota embarcada a primeira linha não é opcional na prática: ela é sempre consumida como cabeçalho. Um arquivo sem cabeçalho perde seu primeiro registro para essa função.

A entrada irregular não causa rejeição. As linhas curtas são preenchidas com células vazias; linhas longas mantêm extras e ambas recebem avisos numerados em linhas. O serializador grava todas as linhas retidas, portanto, “saída limpa” não significa que o programa adivinhou como corrigir divergências estruturais.

Citando de acordo com o memorando – quando os campos devem ser citados e como uma aspa dupla literal é duplicada

Um campo deve ser colocado entre aspas quando contém o delimitador escolhido, uma aspa ou um caractere de final de registro. ToolAcre adicionalmente cita espaços iniciais ou finais para que outro analisador não os corte silenciosamente. Dentro de um campo entre aspas, cada aspas duplas literais se tornam duas aspas duplas.

A opção Citar cada campo solicita um estilo uniforme; caso contrário, a saída será minimamente cotada. As cotações de origem redundantes podem desaparecer enquanto os valores analisados ​​permanecem iguais. Essa normalização é esperada e é por isso que os testes comparam a tabela recuperada, bem como a saída exata para exemplos selecionados.

O tipo de mídia text/csv — os parâmetros opcionais de cabeçalho e conjunto de caracteres e por que eles raramente viajam com um arquivo no disco

Um arquivo no disco raramente chega com parâmetros de tipo de mídia anexados. ToolAcre não lê um parâmetro `header` ou `charset` do arquivo selecionado. Ele se baseia em seu contrato de rota: texto UTF-8, um cabeçalho de primeira linha e detecção de delimitador compatível ou seleção manual.

A opção de exportação opcional BOM grava U+FEFF antes do primeiro cabeçalho. Isso pode ajudar uma planilha a reconhecer UTF-8, mas a configuração avisa que pode quebrar o script estrito ou a importação do banco de dados porque o marcador se junta ao primeiro nome quando não é removido. Deixe-o desligado, a menos que o consumidor exija.

Onde o mundo diverge – ponto-e-vírgula, finais de linha LF, linhas irregulares e codificações sem rótulos, e por que o memorando não tolera nada disso

A entrada real pode usar ponto e vírgula, tabulação ou barra vertical, LF ou CR solitário, linhas irregulares e um UTF-8 BOM inicial. O analisador aceita intencionalmente todos os finais de linha e candidatos a delimitadores. Ele não “tolera” linhas irregulares silenciosamente; ele mantém dados e anexa um aviso.

Uma cotação não fechada é outra condição aceita, mas relatada. Tudo após a cotação de abertura torna-se um campo, porque não existe um limite de fechamento inequívoco. Corrija essa fonte antes de confiar na exportação. A análise permissiva é uma estratégia de preservação, não uma certificação de que a entrada estava em conformidade.

ToolAcre aceita vários desvios do mundo real ao relatar linhas irregulares em vez de rejeitá-las

Nenhuma regra aqui fornece às células tipos numéricos, booleanos ou nulos. O analisador retorna strings e o conversor JSON as preserva como strings. As convenções semânticas devem ser acordadas entre o remetente e o destinatário, incluindo se falta texto em branco e se uma sequência de dígitos é um identificador.

A segurança da injeção de fórmula é uma política de exportação colocada acima da sintaxe CSV. Quando ativado, os caracteres iniciais arriscados recebem um apóstrofo, exceto formas numéricas comuns. Isso altera deliberadamente os valores de segurança das planilhas; não faz parte do escape de cotação ou de um sistema de tipo geral.

Busque uma saída no estilo RFC mesmo quando as entradas a ignoram - como o limpador ToolAcre CSV repara arquivos para delimitação e citação consistentes

Busque resultados previsíveis mesmo quando o dialeto de origem varia. Depois de analisar e resolver avisos, ToolAcre emite registros CRLF e escape padrão de aspas duplas. Se o delimitador detectado permanecer ponto e vírgula ou tabulação, o download manterá esse delimitador em vez de sempre forçar a vírgula.

Selecione vírgula manualmente quando um contrato de recebimento exigir saída separada por vírgula e inspecione o controle porque ele exibe o delimitador realmente usado. A consistência vem de uma seleção explícita mais um formato de linha revisado, não apenas da extensão CSV.