二重引用符が閉じていない CSV
値の先頭の二重引用符を閉じ忘れた壊れた例です。それ以降の改行は値の一部として扱われ、変換の対象にならないことを示します。
入力
CSV
a,b 1,"x 2,y
そろえる改行コード
CRLF(RFC 4180 の標準・Windows)
引用符の中の改行
そのまま残す(値の一部)
最後の行の改行
そのまま
区切り文字
カンマ(,)
結果
エラー 0 件・警告 1 件・情報 2 件
指摘(エラー・警告・情報)
- 情報 全体 行末の改行 1 か所を LF から CRLF に変えました。
- 情報 引用符の中 二重引用符で囲んだ値の中の改行 2 か所(CRLF 0・LF 2・CR 0)は、値の一部なので変えていません(RFC 4180 2 節の 6)。
- 警告 全体 最後まで閉じていない二重引用符があります。そこから後ろの改行は値の一部として扱い、変えていません(引用符内の改行を変える設定のときだけ変えます)。引用符を閉じ忘れていないか確認してください。
| 変換後の改行 | CRLF |
|---|---|
| 行末の改行(変換前) | CRLF 0・LF 1・CR 0 |
| 引用符の中の改行 | 2 か所(変えていない) |
改行をそろえた CSV
a,b 1,"x 2,y
検算(この結果になる理由)
1 行目の LF は引用符の外なので CRLF に変わります。2 行目の "x から引用符が閉じないため、以降の LF 2 か所は値の中として残り、閉じていない引用符の警告が出ます。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- 二重引用符の読み方は RFC 4180 の規則に沿った簡易的なもので、値の先頭の二重引用符だけを囲みの開始として扱います。引用符の使い方が壊れた CSV では、改行を変える範囲が意図と違うことがあります。
- 文字コードは変換しません。UTF-8 以外のファイルをテキストとして読み込むと文字化けするため、先に UTF-8 で保存し直してください。
- 列の数・空欄・重複行の検査はしません。それらを調べるときは、列の揃いを検査する別の道具を使います。
- ファイルは端末の中で読み込み、結果をコピーかダウンロードで取り出します。元のファイルを直接書き換えることはしません。
ご利用にあたって
- 改行をそろえても、取り込み先が求める列の順序・文字コード・必須項目まで満たすとは限りません。取り込み先の仕様も確認してください。
- 大きなファイルはお使いの端末の性能によって処理に時間がかかることがあります。