カンマ、引用符、改行を含むCSVセル
2つのレコード、2行以上。カンマと改行をセル内に保持します。
CSVのセルにはカンマ、引用符、改行が含まれることがあります。これはファイルが壊れているわけではなく、そのセルが引用符で囲まれている必要があることを意味します。テキストの行数を数えただけでは、レコード数は正確にわかりません。
サンプルCSVをダウンロードしてください。CSV, JSON & YAMLコンバーターを開いてアップロードします。このファイルには2つのレコードがあり、1つのキャプションは2行にまたがっています。
name,caption
"Lee, Sam","First line
Second line"
Mina,"She said ""hello""."
行を分割する前に引用符を読む
"Lee, Sam"のカンマは名前の一部です。First lineとSecond lineの間の改行はキャプション内のものです。どちらも外側のダブルクォートで囲まれているため、新しいフィールドやレコードの開始ではありません。
引用符で囲まれたセル内では、連続する2つのダブルクォートは1つの引用符を表します。つまり"She said ""hello""."はテキストShe said "hello".になります。外側の引用符と内側の重複した引用符はCSVの構文であり、値に含める余分な文字ではありません。これらのルールはRFC 4180のCSVフォーマットの説明に記載されています。
生のテキストをカンマや改行で単純に分割すると、この区別ができません。すべての引用符を削除するのも修正にはならず、名前内のカンマが列区切りとして誤認されます。
サンプルを変換して値を確認する
- サンプルをアップロードするか、上記のCSVを入力エディターに貼り付けます。
- からをCSV、宛先をJSONに設定します。
- オプションで最初の行にヘッダーが含まれるをオン、CSVで数値とブール値を検出をオフにします。自動検出が誤っている場合はCSV区切り文字をカンマに設定してください。
- コードの結果を確認します。名前とキャプションを持つ2つのオブジェクトが含まれているはずです。表で2行2列の簡単な確認もできます。
ダウンロードしたサンプルはCRLFの改行コードを使っており、最初のキャプション内の改行も含まれています。JSON出力には以下が含まれます。
[
{
"name": "Lee, Sam",
"caption": "First line\r\nSecond line"
},
{
"name": "Mina",
"caption": "She said \"hello\"."
}
]
JSONではキャリッジリターンと改行はエスケープシーケンスで表示されますが、文字列内の改行を表しています。このページの例を貼り付ける場合、クリップボードがLFのみの改行を提供することがあり、\nが\r\nの代わりに表示されることがあります。CRLF版の確認済みJSON出力をダウンロードしてください。
往復変換を試す
結果を入力として使用を選び、JSONを再びCSVに変換します。すべての列を選択したままにします。エクスポートしたCSVはカンマ、複数行のキャプション、引用符を再び引用符で囲みます。JSONに戻す変換で、2つのレコードとすべてのフィールド値が保持されていることを確認しました。
これはデータの比較であり、すべてのCSVファイルがバイト単位で完全に同じになる保証ではありません。引用符の使い方、末尾の改行、区切り文字は異なる書き方になることがあります。また、このツールはデフォルトでスプレッドシートの数式のような値を保護し、先頭にアポストロフィを付けることがあります。サンプルにはそのような値はありませんが、信頼できないエクスポートをスプレッドシートで開く場合は保護をオンにしてください。
カンマが本当に間違いの場合
壊れた例では名前の中のカンマが引用符で囲まれていません。ヘッダーは2列、行は3フィールドなので、コンバーターは不一致として拒否します。名前全体を"Lee, Sam"のように引用符で囲んで修正してください。名前の一部を削除しないでください。
結果レコードには、2026年10月26日の期待される値、往復チェック、拒否された入力結果が含まれています。これはコンバーターのパーサーでこの小さなサンプルをテストしたもので、すべてのスプレッドシートアプリケーションのCSVインポートルールをテストしたものではありません。