レッスン 3
引用、カンマ、改行
カンマ、引用符、改行を含む実際の CSV フィールドを扱います。
実際の CSV フィールドにはカンマを含めることができます。
id,note
1,"hello, world"
引用符内のカンマはデータであり、区切り文字ではありません。引用フィールド内の改行も同様です。
id,note
1,"first line
second line"
正しいパーサーはそれを複数行フィールドを持つ 1 行として扱います。
フィールド内の引用符
CSV は通常、引用符を二重化してエスケープします。
id,note
1,"She said ""ship it"""
次のテキストを表します。
She said "ship it"
単純な split コードが失敗する理由
line.split(",") は、フィールドに引用符付きカンマや改行があると失敗します。おもちゃの例には問題ありませんが、実際のスプレッドシートエクスポートには安全ではありません。
要点
CSV には RFC 対応のパーサーを使います。変換が壊れたら、まずカンマ、引用符、改行を含むフィールド周りの引用符を確認してください。
出力を信頼する前に、難しい行を CSV to JSON / JSON to CSV Converter に貼り付け、プレビューを確認してください。