Valores separados por delimitadores (DSV) [ 2 ] : 113 es una forma de almacenar datos tabulares separando los campos (valores) de cada fila con un carácter específico como delimitador . [ 3 ] DSV se usa a menudo para el intercambio de datos y es compatible comúnmente con software de bases de datos y hojas de cálculo .
Un archivo de texto delimitado es un archivo de texto que almacena datos en formato DSV. Este tipo de archivo puede clasificarse como una base de datos de archivo plano si, de hecho, los datos se comportan como una base de datos, es decir , si el acceso a las filas individuales tiene sentido.
Una alternativa comúnmente utilizada para datos de texto es el ancho fijo, donde cada columna tiene el mismo número de caracteres , lo que limita la longitud de cada valor de campo. En cambio, DSV admite valores de campo de cualquier longitud. [ 4 ]
Formato
DSV es una categorización de formato de datos , no un formato específico. Para que sea útil, debe establecerse una convención que defina el formato preciso. En general, un formato se clasifica como DSV si consta de líneas de valores separados por delimitadores (donde las líneas están separadas por saltos de línea ). La primera fila a veces es un registro especial que contiene los nombres de las columnas.
Cualquier carácter puede usarse para separar valores de campo, y los más comunes incluyen coma , tabulación , dos puntos , barra vertical (también conocida como barra vertical) y espacio . [ 2 ] : 113 [ 5 ] ASCII y Unicode incluyen caracteres de control que están destinados a usarse como delimitadores: Separador de archivo , Separador de grupo , Separador de registro y Separador de unidad . El uso de estos en datos DSV es relativamente poco común, aunque el formato de datos bibliográficos MARC 21 sí lo hace. [ 6 ]
Dos subcategorías de DSV de uso común, los valores separados por comas (CSV) y los valores separados por tabulaciones (TSV), son compatibles con muchos paquetes de software, incluidas muchas aplicaciones de hojas de cálculo y estadísticas . Algunos pueden importar dichos datos incluso sin que el usuario describa el formato , como qué carácter usar como delimitador. [ 7 ] [ 8 ] Aunque una aplicación de este tipo puede admitir directamente un modelo de datos interno más potente y posiblemente propietario (por ejemplo, accdb o xlsx ), puede asignar datos DSV a su modelo de datos interno.
Colisión de delimitadores
Un desafío particular de DSV es la colisión de delimitadores : ¿qué sucede cuando el carácter delimitador se inserta en el valor de un campo sin una configuración específica para ello? El carácter se interpreta como un separador , dividiendo un único valor lógico en dos. Algunas convenciones de DSV simplemente prohíben el uso de delimitadores en un valor, mientras que otras ofrecen un mecanismo que permite su inserción.
Una forma común de evitar colisiones de delimitadores es encerrar el valor de un campo entre comillas dobles . Una convención podría exigir esto para todos los valores, o podría ser opcional, de modo que solo se utilice para valores que contengan un delimitador incrustado.
Se puede evitar la colisión si la convención prohíbe el uso del delimitador en el valor del campo; la implicación tácita es que la convención no ofrece ninguna forma de evitarla. El uso de un carácter relativamente inusual (por ejemplo, la tilde ~) limita el impacto en los posibles valores del campo. Sin embargo, aunque un carácter parezca inusual, en la práctica podría utilizarse y provocar un error de procesamiento.
Ejemplo
En el siguiente ejemplo, la tabla está formateada según el formato CSV típico: campos separados por comas. Cada valor de campo está encerrado entre comillas dobles para que un valor de campo pueda contener una coma. La coma "Bloggs, Fred"no es un separador de valores porque el texto está encerrado entre comillas dobles. Algunos formatos permiten incluir un salto de línea en un valor mediante este mecanismo. Para codificar una comilla doble en un valor, se utilizan dos comillas dobles, donde la primera actúa como carácter de escape para que la segunda se interprete como una comilla doble en lugar del inicio o el final del campo. El valor "Muniz, Alvin ""Hank"""se interpreta como Muniz, Alvin "Hank".
"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"
Véase también
- Formato de intercambio de datos – Formato de archivo de hoja de cálculo
- Nivel de salud 7 – Estándares de intercambio de datos Páginas que muestran descripciones breves de los destinos de redireccionamiento
Referencias
- ↑ "UTTypeDelimitedText" . Documentación para desarrolladores de Apple: Identificadores de tipo uniforme . Apple Inc.
- 1 2 DSV significa Valores Separados por Delimitadores 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 basadas en bases de datos: uso de herramientas de código abierto" . 2006. Sección "Archivos de texto estructurados". pág. 15.
- ↑ Richard Petersen. "Introducción a la línea de comandos de Unix para usuarios" . 2006. pág. 356.
- ↑ En UNIX, los dos puntos se utilizan comúnmente para valores que pueden contener espacios en blanco. Ibíd .
- ↑ "Conjuntos de caracteres: Problemas generales de los conjuntos de caracteres: Especificaciones MARC 21 para la estructura de registros, conjuntos de caracteres y medios de intercambio" . Biblioteca del Congreso . 2007. Consultado el 2 de agosto de 2024 .
- ↑ Knight, Andrew (2000). Fundamentos de Matlab y más allá . Boca Raton: Chapman & Hall/CRC. ISBN 0-8493-2039-9.
- ↑ Robbins, Arnold (2005). Classic Shell Scripting . Sebastopol: O'Reilly. ISBN 0-596-00595-4.
Lecturas adicionales
- "Guía de administración de IBM DB2: formatos de archivo para CARGAR, IMPORTAR y EXPORTAR" . IBM . Archivado del original el 13 de diciembre de 2016. Consultado el 12 de diciembre de 2016 .(Incluye descripciones de archivos ASCII delimitados (.DEL) y no delimitados (.ASC) para la transferencia de datos).
- Formatos separados por delimitadores