Значения, разделенные разделителями
Единый идентификатор типа (UTI) | public.delimited-values-text [1] |
---|
Форматы, в которых используются значения, разделенные разделителями (также DSV ). [2] : 113 хранить двумерные массивы данных, разделяя значения в каждой строке определенными -разделителями символами . Большинство программ баз данных и электронных таблиц могут читать или сохранять данные в формате с разделителями. Благодаря широкой поддержке файлы DSV можно использовать для обмена данными между многими приложениями.
Текстовый файл с разделителями — это текстовый файл , используемый для хранения данных, в котором каждая строка представляет одну книгу, компанию или другой объект, а каждая строка имеет поля, разделенные разделителем. [3] По сравнению с плоским файлом , в котором для придания каждому полю одинаковой ширины используются пробелы, файл с разделителями имеет то преимущество, что позволяет использовать значения полей любой длины. [4]
Форматы с разделителями
[ редактировать ]Для разделения значений можно использовать любой символ, но наиболее распространенными разделителями являются запятая , табуляция и двоеточие . [2] : 113 [5] вертикальная черта (также называемая трубой ) и пробел . Иногда также используются [2] : 113 Заголовки столбцов иногда включаются в первую строку, а каждая последующая строка представляет собой строку данных. Строки разделяются символами новой строки .
Например, следующие поля в каждой записи разделяются запятыми, а каждая запись — символами новой строки:
"Date","Pupil","Grade" "25 May","Bloggs, Fred","C" "25 May","Doe, Jane","B" "15 July","Bloggs, Fred","A" "15 April","Muniz, Alvin ""Hank""","A"
Обратите внимание на использование двойной кавычки для заключения каждого поля. Это предотвращает интерпретацию запятой в фактическом значении поля (Блоггс, Фред; Доу, Джейн и т. д.) как разделителя полей. Это требует способа « избежать » самой оболочки поля, в данном случае двойной кавычки; принято удваивать двойные кавычки, фактически содержащиеся в поле, как и в случае с «Хэнком». Таким образом, ASCII в поле может содержаться любой текст , включая символы новой строки.
ASCII и Unicode включают несколько управляющих символов , которые предназначены для использования в качестве разделителей. Это: 28 для разделителя файлов , 29 для разделителя групп , 30 для разделителя записей и 31 для разделителя единиц . Примером такого использования является MARC 21. формат библиографических данных [6] . Использование этих символов не получило широкого распространения; некоторые системы заменили свои свойства управления более приемлемыми элементами управления, такими как CR/LF и TAB. [ нужна ссылка ]
Использование и применение
[ редактировать ]Благодаря широкому распространению текстовые файлы, разделенные запятыми и знаками табуляции, могут быть открыты несколькими типами приложений, включая большинство программ для работы с электронными таблицами и статистических пакетов , иногда даже без указания пользователем того, какой разделитель использовался. [7] [8] Несмотря на то, что каждое из этих приложений имеет собственную структуру базы данных и собственный формат файла (например, accdb или xlsx), все они могут сопоставлять поля в файле DSV со своей собственной моделью и форматом данных . [ нужна ссылка ]
Обычно формат файла с разделителями указывается в спецификации. В некоторых спецификациях предусмотрены соглашения, позволяющие избежать столкновения разделителей , в других — нет. Конфликт разделителей — это проблема, которая возникает, когда символ, который должен быть частью данных, вместо этого интерпретируется как разделитель. Форматы, разделенные запятыми и пробелами, часто страдают от этой проблемы, поскольку во многих контекстах эти символы являются допустимыми частями поля данных. В большинстве таких файлов конфликты разделителей избегаются либо путем заключения всех полей данных в двойные кавычки, либо путем заключения в кавычки только тех полей данных, которые содержат символ-разделитель. Одна из проблем с текстовыми файлами, разделенными табуляцией, заключается в том, что табуляцию трудно отличить от пробелов; поэтому иногда возникают проблемы с повреждением файлов, когда люди пытаются редактировать их вручную. Другой набор проблем возникает из-за ошибок в структуре файла, обычно при импорте файла в базу данных (в приведенном выше примере такой ошибкой может быть отсутствие имени ученика).
В зависимости от самих данных может быть полезно использовать в качестве разделителей нестандартные символы, такие как тильда (~). С ростом популярности веб-сайтов и других приложений, хранящих фрагменты кода в базах данных, простого использования ", который встречается в каждой гиперссылке и теге источника изображения, просто недостаточно, чтобы избежать коллизий такого типа. Поскольку двоеточия (:), точки с запятой (;), каналы (|) и многие другие символы также используются, поэтому может быть довольно сложно найти символ, который не используется где-либо еще.
См. также
[ редактировать ]Примечания и ссылки
[ редактировать ]- ^ «UTTypeDelimitedText» . Документация разработчика Apple: унифицированные идентификаторы типов . Apple Inc.
- ^ Перейти обратно: а б с DSV означает значения, разделенные разделителями. Раймонд, Эрик (2004). Искусство программирования для Unix . Бостон: Аддисон-Уэсли. ISBN 0-13-142901-9 .
- ^ Стивен Р. Вестман. «Создание веб-страниц библиотеки на основе базы данных: использование инструментов с открытым исходным кодом» . 2006. Раздел «Структурированные текстовые файлы». п. 15.
- ^ Ричард Петерсен. «Вводная информация о командной строке Unix для пользователей» . 2006. п. 356.
- ^ В UNIX двоеточие является наиболее распространенным разделителем DSV для значений, которые могут содержать пробелы. Там же .
- ^ «Наборы символов: общие проблемы с наборами символов: спецификации MARC 21 для структуры записей, наборов символов и носителей обмена» . Библиотека Конгресса . 2007 . Проверено 2 августа 2024 г.
- ^ Найт, Эндрю (2000). Основы Matlab и не только . Бока-Ратон: Чепмен и Холл/CRC. ISBN 0-8493-2039-9 .
- ^ Роббинс, Арнольд (2005). Классический сценарий оболочки . Севастополь: О'Рейли. ISBN 0-596-00595-4 .
Дальнейшее чтение
[ редактировать ]- «Руководство по администрированию IBM DB2 — форматы файлов ЗАГРУЗКА, ИМПОРТ и ЭКСПОРТ» . ИБМ . Архивировано из оригинала 13 декабря 2016 г. Проверено 12 декабря 2016 г. (Содержит описания файлов ASCII с разделителями (.DEL) и файлов ASCII без разделителей (.ASC) для передачи данных.)