CSV vs TSV: ¿Qué formato de delimitador debería usar?
Respuesta rápida
Utilice CSV para intercambio de datos de uso general, importación/exportación de hojas de cálculo y máxima compatibilidad. Utilice TSV cuando sus datos contengan comas pero no tabulaciones, para evitar citas y escapar de la complejidad. TSV es común en bioinformática y PNL; CSV es el valor predeterminado universal para datos tabulares.
Introducción
CSV (valores separados por comas) y TSV (valores separados por tabulaciones) son dos formatos de texto sin formato para datos tabulares. Ambos almacenan filas como líneas con campos separados por un delimitador. CSV usa comas; TSV utiliza caracteres de tabulación. La elección del delimitador afecta el escape, la compatibilidad con aplicaciones de hojas de cálculo y el manejo de los campos de texto que contienen el delimitador.
Paso a paso
-
Comparar delimitador y escape
CSV usa comas. Si un campo contiene una coma, debe estar entre comillas: "Smith, John". Si un campo contiene comillas, se deben utilizar caracteres de escape: "Dijo "hola"". TSV usa pestañas. Las pestañas rara vez aparecen en los datos de texto, por lo que los campos TSV generalmente no necesitan comillas ni escapes: un análisis más simple.
-
Comparar compatibilidad
CSV es compatible universalmente: Excel, Google Sheets=Sheets, todas las bases de datos, todos los lenguajes de programación. TSV también es ampliamente compatible pero está menos estandarizado: algunas herramientas interpretan las pestañas de manera diferente. Excel detecta ambos automáticamente, pero CSV es el formato de exportación predeterminado.
-
Comparar la complejidad del análisis
El análisis CSV requiere una máquina de estado para manejar las reglas de cotización (RFC 4180). El análisis de TSV es trivial: divide cada línea por carácter de tabulación. Esto hace que TSV sea más rápido de analizar y menos propenso a errores. Sin embargo, CSV tiene una especificación formal (RFC 4180); TSV no tiene un estándar formal.
-
Comparar casos de uso
CSV: importación/exportación de hojas de cálculo, datos APIs, canalizaciones ETL, archivos de configuración, intercambio de datos universal. TSV: bioinformática (BLAST, GFF), PNL (formato CoNLL), datos del portapapeles (copia de Excel = TSV), archivos de registro con delimitadores de tabulaciones.
-
Decide en base a tus datos
Si sus datos contienen comas (nombres, direcciones, oraciones): TSV evita las comillas. Si sus datos contienen tabulaciones (poco comunes en el texto): CSV evita las comillas. Si necesita máxima compatibilidad: CSV. Si desea un análisis más sencillo y sus datos no tienen pestañas: TSV.
Ejemplos
Mismos datos en CSV y TSV
Aporte: CSV: nombre, edad, ciudad\n"Smith, John",30,"Nueva York, NY"\nTSV: nombre\tage\tciudad\nSmith, John\t30\tNueva York, NY
Producción: CSV requiere comillas para los campos con comas. TSV no necesita comillas porque las pestañas no aparecen en los datos.
Problemas comunes
- CSV casos extremos de comillas: los campos que contienen comas, comillas o nuevas líneas requieren reglas de comillas RFC 4180: una división ingenua por coma corromperá los datos con comas incrustadas.
- TSV no tiene un estándar formal: a diferencia de CSV (RFC 4180), TSV no tiene especificaciones oficiales, por lo que las herramientas pueden manejar casos extremos de manera diferente; use TSV solo dentro de tuberías controladas.
- Problemas de codificación de Excel: Excel puede exportar CSV con BOM o delimitadores específicos de la configuración regional (punto y coma en las configuraciones regionales de la UE): especifique la codificación UTF-8 y verifique el delimitador al importar.
- Ambigüedad de nueva línea: CSV campos con nuevas líneas incrustadas son válidos, pero se rompen en el análisis línea por línea; TSV rara vez tiene este problema porque las tabulaciones son poco comunes en los datos de texto.
Consejos
- Utilice CSV para obtener la máxima compatibilidad: todas las hojas de cálculo, bases de datos y lenguajes de programación lo admiten de forma nativa.
- Utilice TSV cuando sus datos contengan comas pero no tabulaciones (nombres, direcciones, oraciones) para evitar por completo la complejidad de las citas.
- Utilice siempre un analizador CSV adecuado (no string.split) para manejar las reglas de citas RFC 4180: la división ingenua corrompe los campos con comas o comillas incrustadas.
- Al copiar datos de Excel a un editor de texto, el portapapeles usa el formato TSV: péguelo en un archivo .tsv para conservar los campos con comas correctamente.