Articulo de referencia

Valores separados por tabulaciones

{{Cite web|url=https://www.ed.ac.uk/information-services/research-support/research-data-service/after/data-repository/choosing-file-formats|title=Choose the best file formats|pu...

Los valores separados por tabulaciones ( TSV ) son un formato de datos de texto plano para almacenar datos tabulares donde los valores de un registro están separados por un carácter de tabulación y cada registro es una línea (es decir, separada por saltos de línea ). [ 3 ] El formato TSV es una forma de valores separados por delimitadores (DSV) y es similar al formato de valores separados por comas (CSV) de uso común.

TSV es un formato relativamente sencillo y cuenta con un amplio soporte para el intercambio de datos por parte de software que generalmente trabaja con datos tabulares. Por ejemplo, un archivo TSV podría utilizarse para transferir información de una base de datos a una hoja de cálculo .

Ejemplo

A continuación se muestran los registros del conjunto de datos de la flor Iris en formato TSV. Dado que la tabulación no es un carácter imprimible (es invisible), se utiliza una flecha (→) a modo de ejemplo para representarla.

Longitud del sépalo → Ancho del sépalo → Longitud del pétalo → Ancho del pétalo → Especie 5,1→3,5→1,4→0,2→I. setosa 4,9→3,0→1,4→0,2→I. setosa 4,7→3,2→1,3→0,2→I. setosa 4,6→3,1→1,5→0,2→I. setosa 5,0→3,6→1,4→0,2→I. setosa 

A continuación se muestran los mismos datos representados en forma de tabla.

Si se utiliza un editor de texto que admita tabulaciones dinámicas (también conocidas como "tabulaciones elásticas") para visualizar el contenido de un archivo TSV, el diseño se verá como la representación de una tabla, pero sin bordes de celda ni formato de fila de encabezado (aunque esto último se puede lograr utilizando caracteres Unicode ).

Problemas conocidos en comparación con CSV

  1. A diferencia de CSV, no existe una especificación ampliamente aceptada para TSV, lo que puede generar comportamientos inconsistentes al manejar barras invertidas, comillas o tabulaciones y saltos de línea no permitidos. Para TSV, solo existe una asignación de tipo MIME. Las reglas de escape para saltos de línea y tabulaciones varían entre las implementaciones. Algunas utilizan la notación de barra invertida (\) de C, otras las reglas de comillas de CSV, y otras simplemente no pueden almacenar tabulaciones ni saltos de línea.
  2. Si se utiliza el escape de barras invertidas, estas también deben escaparse y los saltos de línea en los campos podrían convertirse en "\r\n" en Windows, lo que podría agregar otra capa de manejo de saltos de línea.
  3. Los usuarios no técnicos que editan archivos TSV con un editor de texto a veces confunden tabulaciones con espacios, lo que provoca errores en los datos. Además, puede resultar difícil contar los campos vacíos en editores donde las tabulaciones se muestran simplemente como espacios en blanco.
  4. El aumento del tamaño de archivo que se produce al incluir comas y comillas en un archivo CSV suele ser insignificante en los sistemas modernos.
  5. Los emuladores de terminal suelen representar las pestañas como múltiples espacios, lo que impide copiar una pestaña correctamente y, por lo tanto, impide copiar datos con formato TSV directamente desde una selección en la terminal sin combinar todos los campos en uno solo.

Colisión de delimitadores

Como una forma de colisión de delimitadores , si un campo (valor de registro) contenía un carácter de tabulación, el formato de datos se volvería incoherente, ya que las tabulaciones ya no se usarían solo entre campos. Para evitar esta situación, el estándar de tipo de medio IANA para TSV simplemente prohíbe una tabulación dentro de un campo. De manera similar, un valor no puede contener un terminador de línea. [ 4 ] Para representar un valor con una tabulación o un terminador de línea incrustado, un mecanismo comúnmente utilizado es reemplazar el carácter con la secuencia de escape correspondiente , como se muestra en la siguiente tabla. [ 5 ] [ 6 ]

Otra convención de uso común, tomada de CSV ( RFC 4180 ), consiste en encerrar entre comillas un valor que contenga un carácter de tabulación o de terminación de línea. [ 7 ] [ 8 ] Entre otros, la utiliza LibreOffice Calc, donde no se implementa la notación de barra invertida (\) y TSV se trata simplemente como una variante de CSV con delimitadores de tabulación en lugar de coma. 

Terminador de línea

Como en cualquier archivo de texto, el carácter o caracteres utilizados para el terminador de línea varían. En un sistema basado en Microsoft , normalmente se utiliza una secuencia de retorno de carro (CR) y salto de línea (LF). En un sistema basado en Unix , solo se utiliza LF. La especificación de facto [ 9 ] utiliza el término "EOL", que es un término ambiguo, al igual que terminador de línea y salto de línea. El software suele diseñarse para manejar el terminador de línea de la plataforma en la que se ejecuta o para manejar cualquiera de los dos.

Referencias

  1. Universidad de Edimburgo. Equipo de soporte de datos de investigación. "Elija los mejores formatos de archivo" . Universidad de Edimburgo. § Formatos que recomendamos . Consultado el 23 de mayo de 2023 .
  2. 1 2 "tabSeparatedText" . Documentación para desarrolladores de Apple: Identificadores de tipo uniforme . Apple Inc. Consultado el 23 de mayo de 2023 .
  3. "Cómo usar archivos de valores separados por tabulaciones (TSV)" . Fondo Monetario Internacional . Consultado el 1 de febrero de 2023 .
  4. Lindner 1993 .
  5. Dusek, Jason (6 de mayo de 2014). "TSV lineal: datos tabulares simples, orientados a líneas" . Protocolos de datos - Open Knowledge Foundation ( ed. v1.0β). Archivado del original el 18 de marzo de 2023. Recuperado el 6 de mayo de 2020 . 
  6. Dolan, Stephen (1 de noviembre de 2018). " Manual de jq " . jq . Consultado el 23 de mayo de 2023 .
  7. Miller, Rob (22 de septiembre de 2015). Procesamiento de texto con Ruby: Extrae valor de los datos que te rodean . Pragmatic Bookshelf. pág. 94. ISBN  978-1-68050-492-7.
  8. Giuseppini, Gabriele; Burnett, Mark (10 de febrero de 2005). Microsoft Log Parser Toolkit: Un kit de herramientas completo para la herramienta de análisis de registros no documentada de Microsoft . Elsevier. pág. 311. ISBN  978-0-08-048939-1.
  9. "IANA: texto/valores separados por tabulaciones" .

Fuentes

  • "TSV — Valores separados por tabulaciones" (  edición del 11 de febrero de 2021). Biblioteca del Congreso. fdd000533 . Consultado el 23 de mayo de 2023 .
  • Lindner, Paul (junio de 1993). " text/tab-separated-values " [ Definición de tab-separated-values ​​(tsv) ] . Registro de tipos de medios asignados . IANA . Minnesota: Equipo Gopher de Internet de la Universidad de Minnesota . Recuperado el 23 de mayo de 2023 .
  • "Cómo usar archivos de valores separados por tabulaciones (TSV)" . Archivado del original el 12 de enero de 2007. Consultado el 5 de marzo de 2017 .

Lecturas adicionales

  • Jukka, Korpela (1 de septiembre de 2000). "Valores separados por tabulaciones (TSV): un formato para el intercambio de datos tabulares" (  ed. del 12 de febrero de 2005) . Recuperado el 23 de mayo de 2023 .
  • Welinder, Morten (19 de diciembre de 2012). "§14.2.3 — Formatos de archivos de texto" . El Manual de Gnumeric (  ed. v1.12). Archivado del original el 30 de noviembre de 2020. Recuperado el 23 de mayo de 2023 .