CSV・TSV変換ツール|CSV→TSV・TSV→CSVを相互変換

CSV・表データツール
変換方向

データを入力し、変換方向を選んで「変換する」を押してください。

このツールでできること

入力欄へ貼り付けたCSVをTSVへ、またはTSVをCSVへ変換できます。引用符で囲まれたカンマ、水平タブ、改行にも対応し、変換結果はそのままコピーできます。

ファイルそのものや文字コードを変換する機能ではありません。CSVまたはTSVのテキストを入力欄へ貼り付けて使用します。

使い方

  1. 「CSVからTSV」または「TSVからCSV」を選びます。
  2. 入力欄へ変換するデータを貼り付けます。
  3. 「変換する」を押します。
  4. 行数と列数、変換結果を確認します。行ごとの列数が異なる場合は最大列数を表示します。
  5. 必要に応じて「結果をコピー」を押します。

入力内容や変換方向を変えると、それ以前の結果は無効になります。「クリア」を押すと入力と結果を消去し、「CSVからTSV」へ戻します。

入力例・出力例

CSVからTSVへ変換する例です。

name,note
山田,"東京,大阪"
佐藤,"1行目
2行目"
name	note
山田	東京,大阪
佐藤	"1行目
2行目"

出力例の列間は、スペースではなく実際の水平タブです。CSVではセル内のカンマを守っていた引用符がTSVでは不要になるため、東京,大阪の引用符は外れます。セル内改行はTSVでも区切りと区別する必要があるため、引用符を残します。

TSVからCSVへ変換する例です。

name	note
山田	東京,大阪
name,note
山田,"東京,大阪"

入力例の列間も実際の水平タブです。TSVでは通常の文字だったカンマがCSVの区切り文字になるため、そのセルを二重引用符で囲みます。

よくある利用場面

  • CSVを表計算ソフトへ貼り付けやすいTSVへ変換するとき
  • タブ区切りのエクスポート結果をCSV用のテキストへ直すとき
  • セル内のカンマ、タブ、改行、引用符を含む表データを相互変換するとき

処理仕様

CSVからTSV

CSVでは半角カンマを入力の区切り文字として解析し、水平タブで列を区切ったTSVを出力します。CSVのセル内にある水平タブは文字データです。TSV出力では区切り文字と区別するため、そのセルを引用符で囲みます。

TSVからCSV

TSVでは水平タブを入力の区切り文字として解析し、半角カンマで列を区切ったCSVを出力します。TSVのセル内にあるカンマは文字データです。CSV出力では区切り文字と区別するため、そのセルを引用符で囲みます。

このツールでは、TSVにもCSVと同じ二重引用符の規則を適用します。水平タブや改行を1つのTSVセルへ含める場合は、そのセル全体を引用符で囲みます。

引用符と改行の扱い

引用符はセルの先頭でだけ開始できます。引用されたセル内の""は1個の引用符として読み取り、閉じ引用符の後には入力の区切り文字、改行、または入力の終端だけを置けます。不正な位置の引用符や閉じていない引用符は、物理的な入力行番号を付けたエラーになり、部分的な結果は出力しません。

出力先の区切り文字、引用符、CR、LFを含むセルだけを二重引用符で囲み、セル内の引用符を""へ置き換えます。このため、入力時の引用符が不要になって外れる場合と、出力先の区切り文字に合わせて新しく付く場合があります。

レコードの区切りにはLF、CRLF、CRを使用できます。入力欄では、引用されたセル内も含めて改行コードがLFへ統一されます。引用されたセル内の改行位置は保ち、出力レコードの区切りもLFになります。文字として入力した\n、\r、\tを改行やタブへ置き換えることはありません。

入力の先頭にUTF-8 BOM(U+FEFF)が1個ある場合は取り除きます。入力末尾にレコード区切りとして1個だけある改行は出力へ残しません。空行は1個の空セルを持つ行として保持するため、末尾に複数の改行がある場合も最後の1個より前の空行は残ります。

行とセルの扱い

先頭行を見出しとして特別扱いせず、すべての行を同じ表データとして変換します。空セルと空行を削除せず、行ごとの列数が異なっていても補完や切り捨てを行いません。列数が揃っている場合は行数と列数を、異なる場合は行数と最大列数を表示します。

入力欄が完全な空文字の場合はエラーになります。BOMだけを入力した場合は、BOMを取り除いた後の内容を、空セル1個を持つ1行として変換します。この場合、結果欄は空でも概要には1行・1列と表示され、コピー可能な結果として扱います。

値の型推測、空白の削除、不正データの自動修復は行いません。数値のように見える値、先頭ゼロ、true、null、HTML風文字列、&などのHTMLエンティティも文字データのまま保持します。

変換時の注意

  • ファイル選択、Shift_JIS等の文字コード変換・自動判定、任意区切り文字には対応しません。
  • TSVの引用符を特別扱いしない別の変換処理とは、結果が異なる場合があります。このツールでは、セル内タブ・改行・引用符を扱うために前述の引用規則を使用します。
  • 入力の引用方法、先頭BOM、レコードの改行形式、末尾の1改行は変換時に正規化されます。
  • 非常に大きな入力の処理速度や使用可能な容量は、端末とブラウザの性能に依存します。

入力データについて

変換処理は外部ライブラリを使わず、ブラウザ内で完結します。入力したCSVやTSVをToolRollのサーバーや外部サービスへ送信しません。Cookie、Local Storage、Session Storage、IndexedDB、閲覧履歴へ入力内容や結果を保存しません。

「結果をコピー」を押したときだけ、ブラウザのクリップボード機能へ変換結果を書き込みます。HTML風文字列やHTMLエンティティはtextareaの文字列として扱い、HTMLとして解釈・復号しません。