stringtranslate.com

Valores separados por delimitadores

Formatos que utilizan valores separados por delimitadores (también DSV ) [2] : 113  almacenan matrices bidimensionales de datos separando los valores en cada fila con caracteres delimitadores específicos . La mayoría de los programas de bases de datos y hojas de cálculo pueden leer o guardar datos en un formato delimitado. Debido a su amplio soporte, los archivos DSV se pueden utilizar en el intercambio de datos entre muchas aplicaciones.

Un archivo de texto delimitado es un archivo de texto utilizado para almacenar datos, en el que cada línea representa un solo libro, empresa u otra cosa, y cada línea tiene campos separados por el delimitador. [3] En comparación con el tipo de archivo plano que utiliza espacios para forzar que todos los campos tengan el mismo ancho, un archivo delimitado tiene la ventaja de permitir valores de campo de cualquier longitud. [4]

Formatos delimitados

Se puede utilizar cualquier carácter para separar los valores, pero los delimitadores más comunes son la coma , el tabulador y los dos puntos . [2] : 113  [5] A veces también se utilizan la barra vertical (también denominada barra vertical ) y el espacio . [2] : 113  Los encabezados de columna a veces se incluyen como la primera línea, y cada línea posterior es una fila de datos. Las líneas están separadas por nuevas líneas .

Por ejemplo, los siguientes campos en cada registro están delimitados por comas, y cada registro por nuevas líneas:

"Fecha", "Alumno", "Grado""25 de mayo", "Bloggs, Fred", "C""25 de mayo", "Doe, Jane", "B""15 de julio", "Bloggs, Fred", "A""15 de abril", "Muniz, Alvin" "Hank""", "A"

Tenga en cuenta el uso de comillas dobles para encerrar cada campo. Esto evita que la coma en el valor real del campo (Bloggs, Fred; Doe, Jane; etc.) se interprete como un separador de campo. Esto requiere una forma de " escapar " del contenedor del campo en sí, en este caso las comillas dobles; es habitual duplicar las comillas dobles que realmente contiene un campo, como ocurre con las que rodean a "Hank". De esta manera, cualquier texto ASCII , incluidas las nuevas líneas, puede incluirse en un campo.

ASCII y Unicode incluyen varios caracteres de control que se utilizan como delimitadores. Son: 28 para File Separator (Separador de archivos) , 29 para Group Separator (Separador de grupos ), 30 para Record Separator (Separador de registros ) y 31 para Unit Separator (Separador de unidades) . Un ejemplo de este uso es el formato de datos bibliográficos MARC 21. [6] El uso de estos caracteres no ha alcanzado una adopción generalizada; algunos sistemas han reemplazado sus propiedades de control con controles más aceptados, como CR/LF y TAB. [ cita requerida ]

Usos y aplicaciones

Debido a su uso generalizado, los archivos de texto delimitados por comas y tabulaciones pueden ser abiertos por varios tipos de aplicaciones, incluyendo la mayoría de los programas de hojas de cálculo y paquetes estadísticos , a veces incluso sin que el usuario designe qué delimitador se ha utilizado. [7] [8] A pesar de que cada una de esas aplicaciones tiene su propio diseño de base de datos y su propio formato de archivo (por ejemplo, accdb o xlsx), todas pueden asignar los campos en un archivo DSV a su propio modelo de datos y formato. [ cita requerida ]

Normalmente, un formato de archivo delimitado se indica mediante una especificación. Algunas especificaciones proporcionan convenciones para evitar la colisión de delimitadores , otras no. La colisión de delimitadores es un problema que ocurre cuando un carácter que está destinado a ser parte de los datos se interpreta como un delimitador en su lugar. Los formatos separados por comas y espacios a menudo sufren este problema, ya que en muchos contextos esos caracteres son partes legítimas de un campo de datos. La mayoría de estos archivos evitan la colisión de delimitadores ya sea rodeando todos los campos de datos entre comillas dobles o solo citando aquellos campos de datos que contienen el carácter delimitador. Un problema con los archivos de texto delimitados por tabulaciones es que las tabulaciones son difíciles de distinguir de los espacios; por lo tanto, a veces hay problemas con los archivos que se corrompen cuando las personas intentan editarlos a mano. Otro conjunto de problemas ocurre debido a errores en la estructura del archivo, generalmente durante la importación del archivo a una base de datos (en el ejemplo anterior, dicho error puede ser la falta del nombre de pila de un alumno).

Dependiendo de los datos en sí, puede resultar beneficioso utilizar caracteres no estándar, como la tilde (~), como delimitadores. Con la creciente prevalencia de sitios web y otras aplicaciones que almacenan fragmentos de código en bases de datos, el simple uso de un " que aparece en cada hipervínculo y etiqueta de origen de imagen simplemente no es suficiente para evitar este tipo de colisión. Dado que también se utilizan dos puntos (:), punto y coma (;), barras verticales (|) y muchos otros caracteres, puede resultar bastante complicado encontrar un carácter que no se esté utilizando en otro lugar.

Véase también

Notas y referencias

  1. ^ "UTTypeDelimitedText". Documentación para desarrolladores de Apple: Identificadores de tipo uniformes . Apple Inc .
  2. ^ abc DSV significa Delimiter Separated Values ​​Raymond, Eric (2004). El arte de la programación Unix. Boston: Addison-Wesley. ISBN 0-13-142901-9.
  3. ^ Stephen R. Westman. "Creación de páginas web de bibliotecas respaldadas por bases de datos: uso de herramientas de código abierto". 2006. Sección "Archivos de texto estructurado". pág. 15.
  4. ^ Richard Petersen. "Introducción a la línea de comandos Unix para usuarios". 2006. pág. 356.
  5. ^ En UNIX, los dos puntos son el delimitador DSV más común para valores que pueden contener espacios en blanco. Ibíd .
  6. ^ "Conjuntos de caracteres: cuestiones generales sobre conjuntos de caracteres: especificaciones MARC 21 para estructura de registros, conjuntos de caracteres y medios de intercambio". Biblioteca del Congreso . 2007 . Consultado el 2 de agosto de 2024 .
  7. ^ Knight, Andrew (2000). Fundamentos de Matlab y más . Boca Raton: Chapman & Hall/CRC. ISBN 0-8493-2039-9.
  8. ^ Robbins, Arnold (2005). Scripting clásico de shell . Sebastopol: O'Reilly. ISBN 0-596-00595-4.

Lectura adicional