TSV ファイル形式とは?
.tsv ファイルはプレーンテキストに基づいているため、非常に単純な構造をしています。データベースのレコードやスプレッドシートなど、表形式で配置されたデータを保存するために使用されます。.tsv ファイル内では、データの各列は水平タブ文字 (0x09) によって次の列と区切られます。.tsv ファイルの各行は、表の1行を表します。
.tsv ファイルは、Microsoft Excel、LibreOffice Calc、Google Sheetsを含むほとんどのスプレッドシートアプリケーションでインポート、処理、エクスポートが可能です。この形式を読み取るために特別なソフトウェアは必要ないため、生のデータは任意のテキストエディタで開くこともできます。.tsv は、あるプログラムから別のプログラム(例えば、スプレッドシートからデータベースアプリケーションなど)へ表形式のデータを転送するために一般的に使用されており、バイオインフォマティクスのパイプラインにおける標準的な交換フォーマットでもあります。
.tsv ファイルは、普及している .csv ファイルの確立された代替手段です。これら2つの形式は、列を区切るために使用されるデリミタ(区切り文字)が異なります。.csv ファイルでは列がカンマで区切られますが、カンマはテキストフィールド内によく出現するため、ターゲットプログラムで解釈される際にパースエラーを引き起こすことがあります。タブ文字がテキストフィールド内で使用されることは稀であるため、.tsv ファイルは誤解釈が発生しにくく、通常はフィールドを引用符で囲む必要がありません。同一の構造を持つファイルが、代わりに .tab 拡張子で保存されることもあります。
.tsv の MIME タイプは text/tab-separated-values で、1993年に IANA に登録されました。.tsv にはバイナリのマジックナンバーはなく、パーサーはタブ区切りの構造によって形式を認識します。
セキュリティと安全性
リスク: MEDIUMTSVはプレーンテキストであり、それ自体でコードを実行することはありませんが、CSVと同様の「数式インジェクション」のリスクがあります。セルの値が «=»、«+»、«-»、«@» で始まる場合、ファイルを開いたときにスプレッドシートがそれを数式として実行する可能性があり、攻撃者はこれを利用してコマンドを実行したりデータを流出させたりします。現代の Excel や LibreOffice は、そのような数式を実行する前に警告を表示します。信頼できないソースからのファイルでは、これらを有効にしないでください。また、日常的なリスクとしては、マルウェアよりもデータの破損が挙げられます。エンコーディングを間違えると非ラテン文字が文字化けし、値の中に誤ってタブや改行が入ると、それ以降の列がずれてしまいます。
形式の詳細
概要TSV ファイルを開くプログラム
技術的詳細
詳細仕様| フィールド区切り文字 | 水平タブ (U+0009 / 0x09) |
| レコード区切り文字 | IANA仕様では LF (0x0A)、実務上は CRLF (0x0D 0x0A) も広く受け入れられています |
| ファイルエンコーディング | ファイル内でのエンコーディング宣言はありません。現代では UTF-8 がデフォルトですが、古いファイルでは ASCII や地域固有のエンコーディングが使用される場合があります |
| バイトオーダーマーク (BOM) | オプションで UTF-8 BOM (EF BB BF) が許可されます。多くのパーサーは読み取り時にこれを削除または無視します |
| マジックバイト | なし - この形式にはバイナリ署名はありません。タブで区切られた行構造によって識別されます |
| MIMEタイプ | text/tab-separated-values |
| ヘッダー行 | 任意。慣習的に最初の行に列名がリストされます |
| フィールドの引用 | 必須の引用規格はありません。一部のパーサーは、タブや改行を含むフィールドを二重引用符で囲むことを許可します |
| 空のフィールド | 2つの連続するタブ文字で表されます(例: value1\t\tvalue3 は真ん中のフィールドが空であることを意味します) |
| 列数制限 | 形式による定義はありません。アプリケーションに依存します(Microsoft Excel は最大 16,384 列をサポートします) |
| 行数制限 | 形式による制限はありません。利用可能なメモリとインポートするアプリケーションによって制約されます |
| 代替拡張子 | .tab - 同一構造のファイルがこの拡張子で保存されることもあります |
| 主な用途 | データベースやスプレッドシートのデータエクスポート、バイオインフォマティクスのデータ交換(BLAST出力、ゲノムアノテーション)、ETLパイプライン |
| 引用の必要性 | タブ文字がテキストフィールドに現れることは稀なため、ほとんど必要ありません。これはカンマ区切り形式に対する実用的な利点です |
| リリース日 | Tab-delimited text in use since the 1980s; IANA media type registered 1993 |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | www.iana.org |
TSV の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。TSV ファイルについて最初の質問をしてみましょう。