Formatos de que el uso de valores delimitadores separados (también DSV ) [1] : 113 tiendas bidimensionales matrices de datos mediante la separación de los valores de cada fila con específicos delimitadores caracteres . 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 que se utiliza 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. [2] Comparado con el tipo de archivo plano que usa espacios para forzar cada campo al mismo ancho, un archivo delimitado tiene la ventaja de permitir valores de campo de cualquier longitud. [3]
Formatos delimitados
Se puede usar cualquier carácter para separar los valores, pero los delimitadores más comunes son la coma , la tabulación y los dos puntos . [1] : 113 [4] La barra vertical (también conocida como tubería ) y el espacio también se utilizan a veces. [1] : 113 En un archivo de valores separados por comas (CSV) , los elementos de datos se separan utilizando comas como delimitador, mientras que en un archivo de valores separados por tabulaciones (TSV), los elementos de datos se separan utilizando tabulaciones como delimitadores. Los encabezados de columna a veces se incluyen como la primera línea y cada línea subsiguiente 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 líneas nuevas:
"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 del campo real (Bloggs, Fred; Doe, Jane, etc.) se interprete como un separador de campo. Esto requiere una forma de " escapar " del propio contenedor de campo, en este caso, las comillas dobles; es costumbre doblar las comillas dobles contenidas realmente en un campo como con las que rodean a "Hank". De esta forma, cualquier texto ASCII, incluidas las nuevas líneas, puede incluirse en un campo.
ASCII incluye varios caracteres de control que están pensados para usarse como delimitadores. Son: 28 para el separador de archivos , 29 para el separador de grupos , 30 para el separador de registros y 31 para el separador de unidades . El uso de estos personajes no ha logrado 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, varios tipos de aplicaciones pueden abrir archivos de texto delimitados por comas y tabulaciones, incluida 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. [5] [6] 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 y formato de datos . [ 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á previsto como parte de los datos se interpreta como un delimitador. 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 los 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 se produce debido a errores en la estructura del archivo, generalmente durante la importación del archivo a una base de datos (en el ejemplo anterior, tal error puede ser la falta del nombre de un alumno).
Dependiendo de los datos en sí, puede ser 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, simplemente usar un "que aparece en cada hipervínculo y etiqueta de fuente de imagen simplemente no es suficiente para evitar este tipo de colisión. Ya que dos puntos (:), punto y coma (;), tuberías (|) y muchos otros caracteres también se utilizan, puede ser bastante difícil encontrar un carácter que no se esté utilizando en ningún otro lugar.
Ver también
notas y referencias
- ^ a b c DSV son las siglas de Delimiter Separated Values Raymond, Eric (2004). El arte de la programación Unix . Boston: Addison-Wesley. ISBN 0-13-142901-9.
- ^ 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 estructurados". pag. 15.
- ^ Richard Petersen. "Introducción a la línea de comandos Unix para usuarios" . 2006. p. 356.
- ^ En UNIX, los dos puntos son el delimitador DSV más común para valores que pueden contener espacios en blanco. Ibid .
- ^ Caballero, Andrew (2000). Conceptos básicos de Matlab y más . Boca Ratón: Chapman & Hall / CRC. ISBN 0-8493-2039-9.
- ^ Robbins, Arnold (2005). Secuencias de comandos clásicas de Shell . Sebastopol: O'Reilly. ISBN 0-596-00595-4.
Otras lecturas
- "Guía de administración de IBM DB2: formatos de archivo CARGAR, IMPORTAR y EXPORTAR" . IBM . Archivado desde el original el 13 de diciembre de 2016 . Consultado el 12 de diciembre de 2016 . (Tiene descripciones de archivo de archivos ASCII delimitados (.DEL) y ASCII no delimitados (.ASC) para la transferencia de datos).