【てぃーえすぶいふぁいる】
TSVファイル とは?
最終更新:
💡 タブで列を分ける、テキストの表データ
タブ文字で項目を区切るテキストのデータ形式。行と列からなるデータを交換するのに使い、読み書きする側で文字コードやヘッダー、引用符の扱いを合わせる。
📌 このページのポイント
- Tab-Separated Values(タブ区切り値)の略
- 基本は1行に1レコード、タブ文字で項目を区切る
- カンマは通常の値として入れられるが、タブや改行の扱いには注意する
- 文字コード・ヘッダーの有無・引用符の規則を読み書きする側で合わせる
カンマが入る文章はTSVの方がいい?
タブや改行が値に入ったら?
単純にタブと改行で分けると、列や行が増えたように読まれてしまうよ。IANAの登録仕様では値の中のタブは認めず、1行を1レコードにしている。一方、ツールによっては引用符で囲むタブ区切り形式も扱うので、双方の規則を確認しよう。勝手にスペースへ置換すると元の値が変わるんだ。
Pythonで読み込むには?
csvモジュールで、ファイルを「newline=''」と、実際の文字コードに合う「encoding」で開き、「csv.reader(f, delimiter='\t')」のように区切りを指定できるよ。このreaderは既定で引用符も解釈するので、出力側の規則と合わせてね。ヘッダーがあるなら、その行をデータとして扱うかも決めるんだ。
テキストなら、表の見た目も保存される?
主に値を行と列として交換する形式で、表計算ソフトの色や数式の仕組みをそのまま保存する形式ではないよ。読み込む側で列やデータ型をどう扱うか確認しよう。IANAの仕様には先頭の見出し行があるけれど、実際の出力ではヘッダーを省くものもあるので、受け渡しの条件を合わせることが大切だよ。
まとめ:ざっくりこれだけ覚えればOK!
「TSVファイル」って出てきたら「タブ文字で項目を区切るテキストの表データ」と思えばだいたいOK!
📖 おまけ:英語の意味
「Tab-Separated Values」 = タブ区切り値
💬 Tabは区切りに使うタブ文字、Separatedは区切られた、Valuesは値という意味だよ。