Авторское право

Форматы данных

Формат TSV

Формат TSV (Tab Separated Values) - это идейное продолжение и расширение формата CSV, т.е. TSV - это формат упаковки и хранения таблиц. В формате TSV также присутствуют знаки-разделители, кавычки, строки и поля, однако добавлены некоторые важные и удобные правила, в которых мы сейчас постараемся разобраться.

Впервые я познакомился с форматом TSV, когда стал работать с пакетами данных, отправляемыми такими сервисами как Apple Music и Google Play. В этой работе моя задача состояла в получении и обработке больших отчётов-миллионников, которые были представлены в формате TSV. Нужно отметить, что для этой цели формат TSV оказался очень и очень удобен.

Простой пример формата TSV таков:

#information
#title    value    age
"title1"    20    100
"title2"    40    200
#summary
#group    count
"title"    60

Как видно, строки, которые начинаются с решетки # - это комментарии, причем комментарии двух видов: произвольные описания следующей секции и наборы полей следующей секции. Таким образом один TSV-файл можно содержать одновременно несколько табличек, и содержит специально зарезервированные строки для описания информации. Заголовки полей и начилие хотя бы одной секции с данными - являются обязательными, сами данные упаковываются по правилам CSV. В качестве символа-разделителя в TSV предполагается использование знака табуляции, хотя мне встречались и другие варианты, к примеру, обычная запятая.

В целом, формат TSV немного более удобен, чем CSV - он также поддерживат большие объемы и содержит описательную мета-информацию. Благодаря возможности использовать в одном файле несколько секций (несколько таблиц) - оперативные данные можно дополнять контрольными данными типа "Сводка" или "Summary".

Недостатки в TSV - в общем-то, тоже такие же как в CSV, это

  • Начальная неопределённость кодировки и символов-разделителей
  • Отсутствие встроенных механизмов контроля валидности
  • Нестойкость к повреждениям

Но файлы TSV так же, как и файлы CSV можно открывать в Excel - и уже одно это решает многие вопросы.

excel csv xls формат даных tsv
 0
 0