CSV vs TSV: Qual formato de delimitador você deve usar?
Resposta rápida
Use CSV para troca de dados de uso geral, importação/exportação de planilhas e compatibilidade máxima. Use TSV quando seus dados contiverem vírgulas, mas não tabulações, para evitar citações e escapar da complexidade. TSV é comum em bioinformática e PNL; CSV é o padrão universal para dados tabulares.
Introdução
CSV (valores separados por vírgula) e TSV (valores separados por tabulação) são dois formatos de texto simples para dados tabulares. Ambos armazenam linhas como linhas com campos separados por um delimitador. CSV usa vírgulas; TSV usa caracteres de tabulação. A escolha do delimitador afeta o escape, a compatibilidade com aplicativos de planilha e a manipulação de campos de texto que contêm o delimitador.
Passo a passo
-
Compare delimitador e escape
CSV usa vírgulas. Se um campo contiver uma vírgula, ele deverá ser colocado entre aspas: "Smith, John". Se um campo contiver aspas, elas deverão ter escape: "Ele disse ""olá""". TSV usa guias. As guias raramente aparecem em dados de texto, portanto os campos TSV geralmente não precisam de aspas ou escapes – análise mais simples.
-
Comparar compatibilidade
CSV tem suporte universal: Excel, Planilhas Google = Planilhas, todos os bancos de dados, todas as linguagens de programação. TSV também é amplamente suportado, mas menos padronizado — algumas ferramentas interpretam as guias de maneira diferente. O Excel detecta ambos automaticamente, mas CSV é o formato de exportação padrão.
-
Compare a complexidade da análise
A análise CSV requer uma máquina de estado para lidar com regras de cotação (RFC 4180). A análise de TSV é trivial: divida cada linha por caractere de tabulação. Isso torna TSV mais rápido de analisar e menos sujeito a erros. No entanto, CSV possui uma especificação formal (RFC 4180); TSV não possui padrão formal.
-
Compare casos de uso
CSV: importação/exportação de planilhas, dados APIs, pipelines ETL, arquivos de configuração, troca universal de dados. TSV: bioinformática (BLAST, GFF), PNL (formato CoNLL), dados da área de transferência (cópia do Excel = TSV), arquivos de log com delimitadores de tabulação.
-
Decida com base em seus dados
Se seus dados contiverem vírgulas (nomes, endereços, frases): TSV evita citações. Se seus dados contiverem tabulações (raras em texto): CSV evita citações. Se você precisar de compatibilidade máxima: CSV. Se você deseja uma análise mais simples e seus dados não têm tabulações: TSV.
Exemplos
Mesmos dados em CSV e TSV
Entrada: CSV: nome, idade, cidade\n"Smith, John",30,"New York, NY"\nTSV: nome\tage\tcity\nSmith, John\t30\tNew York, NY
Saída: CSV requer aspas para campos com vírgulas. TSV não precisa de citações porque as guias não aparecem nos dados.
Problemas comuns
- CSV casos extremos de citação: campos contendo vírgulas, aspas ou novas linhas exigem regras de citação RFC 4180 - uma divisão ingênua por vírgula corromperá os dados com vírgulas incorporadas.
- TSV não tem padrão formal: ao contrário de CSV (RFC 4180), TSV não tem especificações oficiais, portanto, as ferramentas podem lidar com casos extremos de maneira diferente - use TSV apenas em pipelines controlados.
- Problemas de codificação do Excel: o Excel pode exportar CSV com BOM ou delimitadores específicos de localidade (ponto e vírgula em localidades da UE) — especifique a codificação UTF-8 e verifique o delimitador na importação.
- Ambiguidade de nova linha: CSV campos com novas linhas incorporadas são válidos, mas quebra de análise linha por linha - TSV raramente apresenta esse problema porque tabulações são incomuns em dados de texto.
Dicas
- Use CSV para compatibilidade máxima – todas as planilhas, bancos de dados e linguagens de programação oferecem suporte nativo.
- Use TSV quando seus dados contiverem vírgulas, mas não tabulações (nomes, endereços, frases) para evitar citar totalmente a complexidade.
- Sempre use um analisador CSV adequado (não string.split) para lidar com regras de cotação RFC 4180 - a divisão ingênua corrompe campos com vírgulas ou aspas incorporadas.
- Ao copiar dados do Excel para um editor de texto, a área de transferência usa o formato TSV – cole em um arquivo .tsv para preservar os campos com vírgulas corretamente.