CSVの欠損値と空フィールドの処理
CSVからJSONへの変換における空フィールド、欠損値、null表現の処理方法。異なるnull戦略とデフォルト値について解説。
Formatting
詳細な説明
CSVの空値と欠損値
実世界のCSVファイルには欠損データが頻繁に含まれます。空フィールドがJSON値にどのようにマッピングされるかを理解することは、データの整合性にとって不可欠です。
JSON出力オプション
戦略1: 空文字列(デフォルト)
{ "id": "2", "name": "Bob", "email": "", "phone": "555-0200", "notes": "" }
戦略2: null値
{ "id": "2", "name": "Bob", "email": null, "phone": "555-0200", "notes": null }
戦略3: 空フィールドを省略
{ "id": "2", "name": "Bob", "phone": "555-0200" }
適切な戦略の選択
| 戦略 | 最適な用途 | 欠点 |
|---|---|---|
| 空文字列 | すべてのフィールドを必要とするスキーマ厳密なAPI | 「空」と「不在」を区別できない |
| null値 | nullableカラムを持つデータベース | 一部のJSONパーサーがnullを拒否 |
| フィールド省略 | ドキュメントデータベース(MongoDB) | 一貫しないオブジェクト形状 |
特殊な空値表現
一部のCSVファイルは、真に空のセルの代わりにセンチネル値を使用します。N/A、NULL、none、-、#N/A(Excel)などの値はすべて「データなし」を表す場合があります。堅牢なコンバーターはnullとして扱う文字列をユーザーが設定できるようにすべきです。
ユースケース
回答者がオプションの質問をスキップしたアンケート結果CSVをクリーンアップする場合に使用します。データベースがnull(未回答)と空文字列(回答したが空白のまま)を区別する必要がある場合に重要です。