Tabela CSV (.csv)
RFC PadrãoComma-Separated Values (CSV) é um formato de texto simples amplamente usado para dados tabulares. Cada linha representa um registro, e os campos são separados por delimitadores.
Converter XLSX para CSV
Conversor gratuito de XLSX para CSV no navegador. Converta arquivos instantaneamente no seu dispositivo.
Comprimir CSV online
Privado - os arquivos nunca saem do seu dispositivo
Inspeção e metadados
Sistemas operacionais e analisadores de arquivos identificam arquivos CSV pela sequência inicial de bytes:
Assinatura do arquivo em bytes (magic bytes)
Sistemas operacionais e analisadores de arquivos identificam arquivos CSV pela sequência inicial de bytes:
ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):
Sem assinatura fixaREPRESENTAÇÃO ASCII: Bytes de texto; a codificação pode variar (geralmente UTF-8)
Padronização: RFC 4180 / IETF
Especificações técnicas
| Estrutura do contêiner | Arquivo de texto simples delimitado que representa linhas e colunas de dados tabulares |
| Compressão | Gzip / Deflate reduzem em 85% a 95% o tamanho de registros tabulares repetitivos |
| Ordem dos bytes (endianness) | Fluxo de texto UTF-8 (BOM UTF-8 opcional EF BB BF usado pelo Excel) |
| Espaços de cor | Não aplicável |
| Canais e Estrutura | Registros de linhas delimitados por CRLF com colunas delimitadas por vírgulas |
| Dimensões Máximas | Sem limite; pode ser transmitido em fluxo por gigabytes sem carregar o arquivo inteiro na memória |
| Transparência | Não aplicável |
| Streaming e Progressivo | O processamento nativo em fluxo, linha por linha, é compatível com todos os pipelines de dados |
Matriz de comparação técnica: CSV e formatos concorrentes
| Atributo técnico | CSV (Atual) | Excel (XLSX) | Parquet | JSON |
|---|---|---|---|---|
| Tipo de arquivo | Tabela simples em texto puro | Planilha XML compactada | Armazenamento colunar binário | Texto hierárquico |
| Múltiplas Planilhas | Não (apenas uma tabela plana) | Sim (várias pastas de trabalho e planilhas) | Armazenamento baseado em partições | Arrays e objetos aninhados |
| Tipos de dados | Texto bruto sem tipagem | Células tipadas, fórmulas, formatação | Tipos de colunas binárias estritas | Tipos primitivos (string, número e booleano) |
| Análise de big data | Lento (requer leitura linear de cada linha) | Não adequado para big data | Muito rápido (eliminação de colunas e aplicação antecipada de predicados) | Moderado |
Modos comuns de corrupção e guia de recuperação com editor hexadecimal
As colunas deslocam-se para a direita ou a contagem de linhas não corresponde aos dados.
Causa principal: Um campo de texto com vírgula sem aspas ao redor.
Recuperação: A RFC 4180 exige que os campos contendo vírgulas sejam colocados entre aspas duplas: "Smith, John".
Caracteres acentuados aparecem como símbolos estranhos (mojibake como é em vez de é) no Excel.
Causa principal: O Excel abriu um CSV UTF-8 assumindo a codificação de caracteres legada Windows ANSI/CP1252.
Recuperação: Adicione a marca de ordem de byte UTF-8 de 3 bytes (BOM, 0xEF 0xBB 0xBF) ao início do arquivo.
Análise de segurança e vetores de ataque a analisadores
Arquivos CSV abrem diretamente em programas de planilha, como Excel e Google Planilhas, expondo os usuários a ataques de injeção de fórmula (ou injeção CSV).
Vetores de ataque conhecidos
- Injeção de fórmula: células que começam com "=", "+", "-" ou "@" podem executar macros de planilha ou comandos DDE (por exemplo, =cmd|'/C calc'!A0).
- Exfiltração de dados por fórmulas HYPERLINK() que, quando clicadas, enviam dados confidenciais das células para servidores remotos controlados por atacantes.
Melhores práticas defensivas: Ao exportar dados de usuários para CSV, acrescente um apóstrofo ou uma tabulação no início de qualquer célula que comece com =, +, - ou @. Isso força o Excel a exibi-la como texto simples.
Origens históricas e marcos
Principais vantagens
- É muito simples: pode ser lido em qualquer editor de texto e importado para bancos de dados e planilhas.
- Processamento muito rápido, linha por linha, sem precisar construir um DOM completo na memória.
- Pouca sobrecarga: não há sintaxe de tags verbosa nem definições de esquema.
Limitações técnicas e desvantagens
- Sem tipos de dados padrão: números, datas, booleanos e textos são todos armazenados como strings brutas.
- Sem suporte para várias planilhas, formatação de células, fórmulas ou metadados.
- Conflitos entre delimitadores (vírgulas em textos ou como separadores decimais em configurações regionais europeias) causam erros frequentes de análise.
Curiosidades técnicas
- Em muitos países europeus, a vírgula é usada como separador decimal e o ponto e vírgula (;) é usado como delimitador de campos CSV.
- Historicamente, o Microsoft Excel exigia um BOM UTF-8 (0xEF 0xBB 0xBF) para exibir corretamente caracteres acentuados não ASCII.
- Em 2020, o Serviço Nacional de Saúde do Reino Unido (NHS) perdeu quase 16.000 registros de rastreamento de contatos da COVID-19. O caso ganhou notoriedade porque os dados foram importados para um formato antigo de planilha do Excel, limitado a 65.536 linhas.
Perguntas técnicas frequentes
O que é a RFC 4180?
A RFC 4180 é o padrão oficial do IETF para CSV. Ela determina que campos com vírgulas, quebras de linha ou aspas duplas sejam envolvidos por aspas duplas, e que as aspas internas sejam escapadas duplicando-as ("").
Por que os arquivos CSV abrem com caracteres corrompidos no Excel?
Versões antigas do Microsoft Excel usam por padrão a página de código local do Windows (como Windows-1252), em vez de UTF-8, ao abrir arquivos CSV diretamente. Adicionar um BOM UTF-8 ao início do arquivo faz com que o Excel decodifique o UTF-8 corretamente.
O que é injeção de CSV (injeção de fórmula)?
A injeção de CSV ocorre quando dados de usuário não confiáveis, iniciados por caracteres que podem acionar fórmulas ("=", "+", "-", "@"), são exportados para uma planilha. Ao abrir o arquivo em programas como o Excel, a planilha executa automaticamente a fórmula ou o comando de intercâmbio dinâmico de dados (DDE), o que pode executar comandos do sistema ou exfiltrar dados.
Conversões de CSV relacionadas
A conversão de uma planilha do Excel para uma tabela CSV extrai dados tabulares brutos para um formato de texto universal, para facilitar a compatibilidade com diferentes programas.
A conversão de arquivos CSV simples baseados em texto em planilhas XLSX ricas em recursos permite a aplicação de estilos de dados avançados, fórmulas e múltiplas planilhas.
A conversão de arquivos de texto simples em bancos de dados relacionais estruturados permite executar consultas rápidas e gerenciar relações de dados complexas.
Converta scripts de backup de bancos de dados relacionais em tabelas simples para análise de dados e elaboração de relatórios.
A conversão de conjuntos de dados HDF5 hierárquicos em arquivos CSV de telemetria planos transforma registros científicos multidimensionais complexos em linhas e colunas simples para análise em planilha.
A conversão de grades científicas NetCDF multidimensionais em arquivos CSV de telemetria planos torna os dados climáticos e oceânicos complexos legíveis em software básico de planilha.
Converter arquivos vCard para CSV de contatos transforma cartões hierárquicos em linhas simples de planilha, facilitando a importação em bancos de dados.