知識ベース

タブ区切り値

タブ区切り値TSV )ファイルは、データベーステーブルやスプレッドシートデータなどの表構造にデータを格納するための単純なテキスト形式であり、データベース間で情報を交換する方法です。テーブル内の各レコードは、テキストファイルの1行です。レコードの各フィールド値は、タブ文字によって次のフィールド値と区切られています。したがって、TSV形式は、より一般的な区切り文字で区切られた値形式の一種です。

TSVは広くサポートされている単純なファイル形式であるため、この形式をサポートするさまざまなコンピュータープログラム間で表形式のデータを移動するためのデータ交換でよく使用されます。たとえば、TSVファイルを使用して、データベースプログラムからスプレッドシートに情報を転送できます。

TSVは、一般的なコンマ区切り値(CSV)形式の代替です。コンマをエスケープする必要があるため、多くの場合困難になります。テキストデータではリテラルコンマは非常に一般的ですが、テキストの実行ではリテラルタブストップはまれです。 TSVのIANA標準は、フィールド内のタブを単に禁止することにより、シンプルさを実現しています。

たとえば、アイリスの花のデータセットの先頭は、次のプレーンテキストを使用してTSVとして保存できます(HTMLレンダリングではタブがスペースに変換されることに注意してください)。

がく片の長さがく片の幅花弁の長さ花弁の幅種5.1 3.5 1.4 0.2 I. setosa 4.9 3.0 1.4 0.2 I. setosa 4.7 3.2 1.3 0.2 I. setosa 4.6 3.1 1.5 0.2 I. setosa 5.0 3.6 1.4 0.2 I. setosa

上記のTSVプレーンテキストは、次の表形式のデータに対応しています。

がく片の長さがく片幅花びらの長さ花びらの幅
5.1 3.5 1.4 0.2 I. setosa
4.9 3.0 1.4 0.2 I. setosa
4.7 3.2 1.3 0.2 I. setosa
4.6 3.1 1.5 0.2 I. setosa
5.0 3.6 1.4 0.2 I. setosa

TSVへのロスレス変換の規則

TSV形式の値にはリテラルタブや改行文字を含めることができないため、これらの文字を使用してテキスト値を無損失で変換するには規則が必要です。一般的な規則(たとえば、Linear TSV、linear-tsv、jqを参照)は、次の変換を実行することです。

改行には\ n、タブには\ t、復帰には\ r、バックスラッシュには\\。