Формат TSV, как и формат CSV, это текстовый формат для представления таблиц баз данных, поэтому работа с ним в PowerShell не отличается от работы с CSV. Исключением является момент импорта данных, который вызвал проблему у читателя моих заметок о работе с PowerShell. Разберёмся с этим подробнее.
Для импортам данных из текстовых форматов используется командлет Import-Csv. Из файла в формате CSV данные импортируются так:
$data = Import-Csv -Path data.csv
Результат выполнения этого действия ожидаем и корректен если разделителем значений в текстовом файле является символ ,
(запятая). Если таким же образом выполнить импорт данных из файла в формате TSV, командлет не выдаст сообщение об ошибке, но результат импорта будет некорректен, работа с импортированными данными будет невозможна.
Отличие формата TSV от формата CSV - разделитель значений, символ табуляции вместо запятой. Так как командлет Import-Csv
не может автоматически определить используемый разделитель, он имеет специальный параметр -Delimeter
, задающий символ разделителя значений.
Но как передать символ табуляции параметру?
Символ табуляции входит в число специальных символов PowerShell. Зная, как задать символ табуляции, импорт данных из файла в формате TSV выполняется так:
$data = Import-Csv -Path data.tsv -Delimeter `t
Теперь данные должны быть импортированы корректно и готовы к дальнейшей работе с ними.
Если хотите попробовать на практике описанное, но нет файла с данными в формате TSV, нет электронной таблицы с данными, но установлен iTunes, можете создать плэйлист и экспортировать его в текстовом формате - значения в нём будут разделены символом табуляции.