改行リストをCSVに変換|カンマ・引用符・空欄に対応
リストを入力し、区切り方法を選んで「CSVに変換」を押してください。
このツールでできること
改行または指定した区切り文字で分かれた一次元リストを、CSVの1レコードへ変換してコピーできます。項目内のカンマ、引用符、改行と、リスト中の空項目をCSVの規則に合わせて扱います。
「1行」は複数レコードを作らないという意味です。任意区切りモードで項目内に実改行が残る場合は、CSV上では1レコードでも結果欄が複数の表示行になることがあります。
使い方
- リストを入力します。
- 「改行で区切る」または「指定した区切り文字で区切る」を選びます。
- 任意区切りを選んだ場合は、区切り文字を入力します。
- 「CSVに変換」を押し、結果を確認してコピーします。
処理後にリスト、区切り方法、または区切り文字を変更すると、古い結果と項目数は消去されます。変更した条件で「CSVに変換」をもう一度押してください。
入力例・出力例
改行区切りの次のリストを入力します。
apple
Tokyo, Japan
"重要"
変換結果は次の1レコードです。
apple,"Tokyo, Japan","""重要"""
カンマを含むTokyo, Japanは引用され、項目内の引用符は2個へ置き換えてからフィールド全体を引用します。任意区切り||でA||B||||を分割すると4項目になり、末尾の空項目2件も保持したA,B,,を出力します。
よくある利用場面
- 改行区切りのIDやタグをCSVの1レコードへまとめるとき
- 任意区切りのプレーンリストを表計算向けCSVへ変換するとき
- 引用符やカンマを含む項目を正しくエスケープするとき
処理仕様
リストの分割
- 初期設定の改行区切りではLF、CRLF、CRを認識し、CRLFは1つの区切りとして扱います。
- 任意区切りは1文字以上の通常文字列として、文字の大小も含めて完全一致させます。複数文字も使用できます。正規表現やエスケープ記法として解釈しないため、区切り文字に入力した
\nは実改行ではなく、バックスラッシュとnの2文字に一致します。 - 任意区切りが本文にない場合は、入力全体を1項目として扱います。任意区切りモードでは本文中の実改行も区切らず、1項目内の文字として保持します。
- 先頭、連続、末尾の区切りによる空項目を削除しません。項目の前後空白、空白だけの項目、重複、入力順もそのまま保持します。概要の「空項目」は長さ0の項目だけを数え、空白だけの項目は数えません。
- 入力先頭のBOMは1文字だけ除きます。除去後が空になるBOMだけの入力は、空入力エラーです。
CSVの再生成
分割した項目を半角カンマで連結し、CSVの1レコードとして再生成します。カンマ、二重引用符、CR、LFを含む項目だけを二重引用符で囲み、項目内の二重引用符を2個へ変換します。レコード末尾の改行は追加しません。
前後空白、Unicode、HTML風文字列、HTMLエンティティ、アンパサンド、文字として入力した\n、バックスラッシュは変換・復号しません。
エラーと利用上の注意
空入力、空の任意区切り、CRまたはLFを含む任意区切りはエラーです。実改行で分割する場合は「改行で区切る」を選んでください。エラー時は部分結果を出さず、コピーを無効にします。
=、+、-、@などで始まる項目も変更せず、表計算ソフト向けの数式無害化は行いません。信頼できない値を表計算ソフトで開く場合は、数式として実行されないことを確認してください。
入力データについて
入力したリストと区切り文字は、外部ライブラリを使わずブラウザ内だけで処理します。ToolRollのサーバーや外部サービスへの通信は行わず、Cookie、Web Storage、IndexedDBにも保存しません。
「結果をコピー」を押したときだけ、ブラウザのClipboard APIへ結果を渡します。Clipboard APIを利用できない場合は、結果欄から手動でコピーしてください。