¿Qué es TSV?
TSV son las siglas de Tab-Separated Values (Valores Separados por Tabulaciones), un formato de datos tabulares de texto plano donde los campos en cada fila están separados por caracteres de tabulación horizontal (\t, código ASCII 9) en lugar de comas. Al igual que CSV, cada fila termina con un salto de línea, y una primera fila opcional puede servir como cabecera con los nombres de las columnas.
TSV no está estandarizado por ningún RFC ni especificación formal. Se define puramente por convención: delimitado por tabulaciones, un registro por línea. A pesar de la falta de un estándar formal, TSV es ampliamente utilizado en bioinformática, computación científica, lingüística (datos de corpus) y en cualquier lugar donde los campos de datos contengan naturalmente comas.
Por Qué el Tabulador como Delimitador
El carácter de tabulación como separador de campos tiene una ventaja práctica sobre la coma: los caracteres de tabulación casi nunca aparecen en datos de texto ordinarios. Las comas aparecen constantemente en nombres (García, Juan), direcciones (C/ Mayor 123, 2º), números en locales europeas (1.234,56) y campos de texto libre. Esto significa que CSV requiere un mecanismo de entrecomillado/escape para estos casos comunes, mientras que TSV frecuentemente no lo necesita.
| Escenario problemático | CSV | TSV |
|---|---|---|
García, Juan |
Debe ser "García, Juan" |
Puede ser García, Juan directamente |
1.234,56 € |
Debe ser "1.234,56 €" |
Puede ser 1.234,56 € directamente |
| Dirección con saltos | Debe entrecomillar | Debe entrecomillar |
TSV frente a CSV: Comparativa Detallada
| Aspecto | CSV | TSV |
|---|---|---|
| Delimitador | Coma (,) |
Tabulación (\t) |
| Especificación RFC | RFC 4180 (informal) | Ninguna |
| Entrecomillado necesario para | Comas, comillas, saltos de línea | Tabulaciones, saltos de línea |
| Apertura directa en Excel | Sí | Depende de configuración |
| Prevalencia | Muy alta | Alta en entornos científicos/técnicos |
| Extensiones comunes | .csv |
.tsv, .tab, .txt |
| Uso en bioinformática | Ocasional | Muy común |
TSV en Bioinformática
TSV es el formato tabular dominante en bioinformática y genómica. Muchos formatos estándar de bioinformática son variantes de TSV:
Formato BED (Browser Extensible Data):
chr1 1000 5000 gen1 0 +
chr1 6000 9000 gen2 0 -
Separado por tabulaciones: cromosoma, inicio, fin, nombre, puntuación, hebra.
VCF (Variant Call Format): Un formato complejo para variantes genéticas con una sección de datos TSV después de un bloque de cabecera. Las líneas de cabecera comienzan con #.
GFF/GTF (General Feature Format): Datos de anotación donde las características de un genoma se describen en 9 columnas separadas por tabulaciones.
Salida BLAST (formato tabular -outfmt 6): Salida TSV estándar de 12 columnas de las búsquedas de alineación de secuencias BLAST.
La comunidad de genómica se estandarizó en TSV en parte porque los datos de secuencias, nombres de genes y coordenadas nunca contienen caracteres de tabulación, eliminando la complejidad del entrecomillado.
Extensiones de Archivo
Los archivos TSV usan múltiples extensiones:
.tsv— explícita e inequívoca.tab— común en bioinformática.txt— genérica; la herramienta debe detectar el delimitador.csv— confusamente, a veces se usa para archivos delimitados por tabulaciones
Apertura de TSV en Excel
Excel no abre automáticamente los archivos .tsv como delimitados por tabulaciones. Opciones:
Método 1: Usar Datos → Desde texto/CSV para lanzar el asistente de importación, que permite especificar Tabulación como delimitador.
Método 2: Renombrar el archivo a .txt y abrirlo, lo que activa el Asistente de importación de texto automáticamente.
Método 3 (para usuarios avanzados): Usar Power Query (Obtener y transformar datos), que proporciona control total sobre la detección del delimitador, la codificación y los tipos de columna.
Trabajar con TSV Mediante Programación
Python módulo csv:
import csv
# Lectura TSV
with open('datos.tsv', newline='', encoding='utf-8') as f:
lector = csv.reader(f, delimiter='\t')
for fila in lector:
print(fila)
# Escritura TSV
with open('salida.tsv', 'w', newline='', encoding='utf-8') as f:
escritor = csv.writer(f, delimiter='\t')
escritor.writerow(['nombre', 'gen_id', 'expresion'])
escritor.writerow(['BRCA1', 'ENSG00000012048', '12.4'])
pandas:
import pandas as pd
# Lectura TSV
df = pd.read_csv('datos.tsv', sep='\t', encoding='utf-8')
# Escritura TSV
df.to_csv('salida.tsv', sep='\t', index=False)
awk (estándar de bioinformática):
# Imprimir segunda y cuarta columna del TSV
awk -F'\t' '{print $2, $4}' datos.tsv
# Filtrar filas donde expresión > 10
awk -F'\t' '$3 > 10 {print}' datos.tsv
Conversión de TSV
TSV → CSV: Cambiar el delimitador con Python o con csvkit (csvformat -T entrada.tsv > salida.csv).
TSV → JSON: Similar a CSV → JSON; cada fila se convierte en un objeto:
import csv, json
with open('datos.tsv') as f:
lector = csv.DictReader(f, delimiter='\t')
datos = list(lector)
with open('salida.json', 'w') as f:
json.dump(datos, f, indent=2)
TSV → XLSX:
pd.read_csv('datos.tsv', sep='\t').to_excel('salida.xlsx', index=False)
Cuándo Elegir TSV sobre CSV
Elige TSV cuando:
- Los campos de datos contienen frecuentemente comas (direcciones, nombres, números formateados)
- Trabajas en bioinformática o computación científica donde TSV es la norma de la comunidad
- Procesas con
awk,cutu otras herramientas Unix que usan tabulación por defecto - Los datos nunca se abrirán directamente en Excel sin un procedimiento de importación adecuado
Elige CSV cuando:
- Máxima compatibilidad con destinatarios no técnicos que harán doble clic en el archivo
- Trabajas en entornos donde Excel es la herramienta principal
- El formato especificado requiere CSV
Resumen
TSV es el hermano más tranquilo de CSV — menos famoso, menos documentado, pero frecuentemente más práctico para datos estructurados que contienen comas. La rareza del delimitador de tabulación en datos reales elimina la mayor parte de la complejidad del entrecomillado que afecta a CSV, haciendo que TSV sea más sencillo de generar y analizar correctamente. Su dominio en bioinformática y computación científica refleja esta ventaja práctica. En caso de duda, ambos formatos son interconvertibles en una línea de código; elige el delimitador que sea menos probable que aparezca en tus datos reales.
Conversiones relacionadas
Conversiones frecuentes del catálogo: