100% ローカル — データがブラウザの外に出ることはありません

CSVエスケープ|値が一つのセルにきちんと収まるように整える

CSVの項目を、RFC 4180 が求めるときだけ引用符で囲み、中の引用符は二重にします。区切り文字も選べるので、値は3つに割れてしまうことなく、1つのセルに収まります。

高速 プライベート Cookieゼロ
区切り文字

Text 入力

CSV Escaped 出力

このツールの動作

RFC 4180のフィールド規則を適用します。この規則は一律ではなく条件付きです。フィールドが次のいずれかを含む場合に限って、二重引用符で囲まれます。

  • 選択した区切り文字(既定は ,、ほかに ;、タブ、|)
  • 二重引用符(このときフィールド内で二重化されます)
  • 復帰または改行

それ以外の場合、テキストはそのまま返ります。これはツールが何もしていないのではありません。特殊文字を含まない値はすでに正当なCSVフィールドであり、それでも引用符で囲むと、一部のパーサーが取り込んだ値にまで持ち込んでしまう余計な情報が増えるからです。

こんなときに使います

CSVの1行を手で組み立てるとき、あるいは表計算ソフトが1つの値を2列に分けてしまった理由を調べるときです。犯人はたいてい住所や商品名の中のカンマです。ここに貼り付ければ、正しく引用された形が返ってきます。

このツールがしないこと

エスケープの対象は1つのフィールドであって、行全体でもファイルでもありません。引用されたフィールドの中の改行は正当なCSVであり、そのまま保持されます。それを新しいレコードではなく値の一部として読むかどうかは、ファイルを読む側のパーサーの役目です。

プライバシー

すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。

よくある質問

なぜテキストがそのまま返ってくるのですか?
エスケープの必要がないからです。RFC 4180が引用符を求めるのは、フィールドに区切り文字、二重引用符、改行のいずれかが含まれる場合だけです。すべてのフィールドを引用符で囲むのは規格上は正しいものの冗長なので、このツールは単純な値をそのままにします。
フィールド内の引用符はどう扱われますか?
バックスラッシュではなく、二重化されます。He said "hi" は "He said ""hi""" になります。外側の対がフィールドを区切り、内側の引用符はそれぞれ2回書かれます。CSVにバックスラッシュによるエスケープは存在しません。
セミコロンやタブも使えますか?
はい。エディタの上で区切り文字を選ぶと、引用するかどうかの判断もそれに従います。; を含むフィールドは、区切り文字がセミコロンのときは引用され、カンマのときはそのまま残ります。

関連ツール