Формат 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 - и уже одно это решает многие вопросы.