NOTE 08 · データ整理
CSVの空欄・0・未確認を、記事管理表で混同しない方法
空欄を勝手に0に置き換えず、状態と値を別の列で管理する例。JSONへ渡す前に、文字列とnullの違いも確認します。

空欄の理由を書ける表にする
記事管理表の「文字数」欄が空いていると、まだ数えていないのか、本文がないのか、入力を忘れたのかが読み取れません。数値の欄だけですべてを表そうとすると、引き継ぐ相手が推測することになります。値とは別に「確認状態」の列を用意し、未確認・確認済み・対象外のように状態を決めておきます。
三つの状態を分ける説明例
| 記事ID | 文字数 | 確認状態 |
|---|---|---|
| 001 | 空欄 | 未確認 |
| 002 | 0 | 確認済み |
| 003 | 空欄 | 対象外 |
これは管理方法を考えるための架空データです。002は文字数を確認した結果が0という記録で、001はまだ確認していません。003の対象外という理由も別列に残っています。実際の運用では、どの欄を必須にするかを編集担当者同士で決めてください。
CSVへ渡す場合の書き方
id,count,status 001,,未確認 002,0,確認済み 003,,対象外
カンマが連続する「001,,未確認」でも、中央の列は存在します。空欄だからといってカンマを一つ消すと、後ろの列の意味がずれます。まず表を少量のCSVへ出力し、列数が同じかを確かめてから変換します。
JSONでは型も確認する
本体のCSV→JSONツールは値を文字列として出力します。空欄は空文字列、0は文字列の0として扱う設計です。掲載画像では別の内蔵サンプルにより、記事ID「001」が文字列のまま残ることを確認しています。空文字列、数値の0、文字列の0、nullはJSONでは別の値です。取り込み先が求める型を確認してから、必要な変換規則を決めます。
空文字列: "" 文字列の0: "0" 数値の0: 0 値がないことを表すJSON値: null
見た目が似ていても、取り込み先の計算や必須チェックでは結果が変わる場合があります。未確認の値をまとめて0へ置換すると、確認したという誤った記録になり得ます。空欄の意味を決めないまま置換しないでください。
受け渡しメモに残すこと
- 各列の意味と必須・任意の区別。
- 空欄を許す列と、その理由を記録する列。
- 記事IDの桁数と、先頭ゼロを保持するルール。
- 取り込み先の型と、空文字列をどう扱うか。
- 入力行数・出力件数と、抜き出して照合した記事ID。
CSVが変換できたことと、管理表の意味が伝わったことは別に確認します。先に一件を相手と照合すると、全件を作り直す前に認識違いを見つけられます。