Tab-Separated Values
表示
(Tab-separated valuesから転送)
拡張子 | .tsv , .tab |
---|---|
MIMEタイプ | text/tab-separated-values |
種別 | マルチプラットフォーム、シリアルデータストリーム |
包含物 | フィールドが分離されたリストとして構成されたデータベース情報 |
国際標準 | IANA MIME type |
Tab-Separated Values (TSV) は、データベースにおける表や表計算データなど、表形式でデータを格納するためのシンプルなテキスト形式のデータ形式であり[1]、データベース間で情報を交換する方法の1つである[2]。
TSV形式における各レコードは、テキストファイルの1行である。レコードの各フィールド値は、タブ文字で区切られる。すなわち、TSV形式はDelimiter-Separated Values(区切り文字区切り形式)の一種である。タブ区切り形式ともいう。
TSVフォーマットはシンプルなファイルフォーマットであり、多くのコンピュータプログラムが対応しているため、異なるコンピュータプログラム間で表形式のデータ交換するためによく使用される。TSVは、一般的に使用されているComma-Separated Values(CSV形式、タブ区切り形式)に代わるものである。CSV形式ではコンマを区切り文字としているため、フィールドにコンマが含まれる場合には、これをエスケープしないと問題が生じる。コンマはテキストデータでは頻出する文字であるが、タブは一般的なテキストの中に出現することは稀である。TSVのIANA標準[2]では、フィールドにタブ文字の使用を禁止している。
例
[編集]アイリス・データセット[注釈 1]の先頭をTSV形式にすると、以下のようになる。
Sepal length Sepal width Petal length Petal width Species 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プレーンテキストは、以下の表データに対応している。
Sepal length | Sepal width | Petal length | Petal width | Species |
---|---|---|---|---|
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 |
利点
[編集]カンマ区切り形式と比較した場合下記のような利点がある
- UNIX系ソフトウェアやMicrosoft Excelなど標準形式として扱っているソフトウェアが多く、読み込みや書き出しの手間がひと手間すくないことが多い。
- 例:
- cut 何も指定しなければ入力をタブ区切りとして受け付ける。[3]
- mysql 何も指定しなければファイルに出力するときの形式がタブ区切りとなる。またmysqlimportで取り込む場合も何も指定しなければタブ区切りとなる。
- Microsoft Excel コピー&貼り付けの形式がタブ区切りとなっている。
- 例:
- タブは入力フォームに入力できないことが一般的で、解析の際、区切り文字がフィールドに混在することを想定した処理を省略できる。 例えばHTMLフォームの入力だけを格納しているmysqlのテーブルをファイルに出力するとタブが使われているのは区切り文字だけであると想定できる。 なお、HTMLのフォームを使わずHTMLのリクエストから迂回してタブを入力することもできるが、本来の経路ではタブを入力できないはずなのでタブが入力された場合は不正としてエラーにできる点も利点となる。
関連項目
[編集]脚注
[編集]注釈
[編集]出典
[編集]- ^ How To Use Tab Separated Value (TSV) Files Published by the International Monetary Fund
- ^ a b “Definition of tab-separated-values (tsv)”. Internet Assigned Numbers Authority (IANA). 2020年5月4日閲覧。
- ^ “cut(1) - Linux manual page”. man7.org. 2023年11月20日閲覧。
参考文献
[編集]- IANA, Text Media Types, text/tab-separated-values, Paul Lindner, U of MN Internet Gopher Team, June 1993