e-Statの統計表におけるデータ表記方法の提言
先日、河野太郎さんがこんなツイートをされていました。
下記が、政府による「表記方法案」です。
「統計表における機械判読可能なデータ作成に関する表記方法案」
https://www.e-stat.go.jp/estat/html/topic20201125.pdf
※この記事を投稿した12/2時点では見ることができましたが、12/3現在アクセスできなくなっています
「表記方法案」としてまとめていただいた内容は概ね賛成、しかし、それだけでは足りないと思いました。私も、行政データを活用する立場の1人として以下の通り、自分なりの意見を投稿してみました。
(注意)投稿フォームの文字数に限りがあったのと、「表記方法案」に記載されていた内容との重複をある程度避けてまとめています。
1. 基本的にはCSVを公開する
ExcelはMicrosoft Office等の有償ソフトウェアをインストールしている端末で開くことが前提条件になるため、CSV公開を前提としたほうがよいと考えます。
※Excel形式でないと文字化けして表示されない文字が存在する、などの問題が生じる可能性はあるが、その問題を解消した上でCSV公開する方針とすべきです
2. 文字コードを統一する
各府庁がe-Statに掲載するCSVの文字コードは何かしら統一すべきと考えます。e-StatだとShift-JISとUTF-8がよく使われる文字コードですが、
・エンジニアや日本国外の研究者も利用する可能性が高い
・Shift-JISは亜種が多く、環境によって文字化けるなど、ユーザに余計なエンコード処理を委ねることになるかも
などの理由から、UTF-8に統一が望ましいと思います。
3. 表の欄外にタイトルや日付など、表以外の要素をつけない
e-Statに掲載される統計表には、統計表の名称や、作成日付、注釈などを表の欄外に記載しているケースが多く、データ利用にあたって行削除などの前処理が必要です。
これらは重要な情報ではありますが、統計表のファイル内に記載されていなくても設定ファイルとして別出しされていれば充分使えるものです。
実際、データ利用をしているほとんどの人が統計表の中身のみを参照するために、これらの項目削除をしている(はず)なので、公開するCSVには項目行とデータ行のみを入れるべきです。
4. データ項目の行は1行にする
データ項目は1行目のみとし、複数行にわたってデータ項目を記述することをしない。どうしても複数行でデータ項目を記述したい場合は、接頭辞(人口_15歳〜64歳、人口_65歳以上...)を付ける対応が望ましいと考えます。
5. セル内改行をしない
データの見栄えをよくするために同一セル内で改行することをやめるべきです。例えば、住所と方書を改行して表記するなどはNG。その場合は住所と方書を項目分割しておくなど。
6. 罫線だけの行を残さない
(公開するファイルがExcelの場合)データが存在しない罫線だけの行を残したままにしておくと、CSVとして読み込んだ場合に無駄な行が出力されてしまう可能性があるため、罫線だけの行は削除する方がよいです。
7. 各行の要素数を揃える
1行目のデータ項目で宣言された各項目について、各行で過不足なく値が入っていることで、コンピューターが効率的に内容を読み取ることができるのがCSVの良いところなので、行によって要素数が違うと、そもそもどういう理由で要素数が違うのか、違う場合はどのように処理するべきかを検討しないといけないので前処理の手間がかかります。従って、各行の要素数は揃えるようにするべきです。
下記もぜひどうぞ
2020年頭に、某自治体にお声がけいただき、下記のような内容でオープンデータ研修を開催させていただきました。
今回提案としてまとめた内容も、この研修を実施するにあたり整理したものが多く含まれています。
・なぜオープンデータが大事なのか?
・オープンデータとは何なのか?
・オープンデータをどう進めればよいのか?
といった内容になっています。よろしければご一読いただけると嬉しいです。
自治体ごとにバラバラになっている行政データを整備して1つのフォーマットとして見られるデータベース作りと、そのデータ活用をする活動をしています。 サポートいただいたお金は、その活動資金に当てさせていただきます。ご支援のほどよろしくお願いします!