コードで語るマニフェスト:日本の政府データを技術的に検証する

どうも〜おかむーです!今日はちょっとエンジニアっぽい話をしますよ〜
- 政府はデータを出しているけど、フォーマットやメタデータがバラバラで実利用に課題あり
- CSVやAPIがある良い例と、PDFに閉じた報告が混在。要するに機械可読性が足りない
- 技術的改善案(UTF-8統一、CSVW/JSON-LD、API設計、データカタログ化)を具体的に示すよ!
結論
日本の官公庁は重要なオープンデータを公開しているが、形式・メタデータ・API整備の観点で改善余地が大きい。エンジニア的に言うと「API一本で解決する話」が多く、UTF-8/スキーマ化/時系列CSVの公開で利活用が劇的に上がる。
レポート本文
現状サマリ(参照サイト)
これ見てくださいよ:e-Stat(https://www.e-stat.go.jp/)やJapan Dashboard(https://www.digital.go.jp/resources/japandashboard)、国税庁の法人番号全件ダウンロード(https://www.houjin-bangou.nta.go.jp/download/zenken/index.html)、厚労省の介護オープンデータ(https://www.mhlw.go.jp/stf/kaigo-kouhyou_opendata.html)は、いずれもデータを出していて頼もしいんです。いいところは「データを公開してる」点!
でも、ここからが問題。公開形式やメタデータが統一されてないんですね。
- CSVにShift_JISとUTF-8が混在(国税庁はShift-JIS/Unicodeの両方を提供している)
- KPIや実績がPDFに閉じているケース(例:地方交付金の実績PDF)→ 機械で追いにくい
- APIの有無がデータごとに異なる(e-StatはAPIあり、しかしAPIドキュメントやサンプルが分散)
要するに、データはあるけど“すぐ使える形”になっていないということです。
技術的問題点の詳細
- Shift_JIS/CP932 と UTF-8 が混在。エンジニアならわかると思うんですけど、読み込み時に毎回エンコ対策を書くのが地味に辛い!
- 対策:公開はUTF-8で一本化。過去データは変換済みのアーカイブを置く。
- 列名が自治体ごとに違う、単位や更新時刻が明記されないケースあり。
- 対策:CSVW / JSON-LD を使ってスキーマ(型、単位、IDフィールド、欠損値ルール)を公開する。
- KPIがPDF表のまま。数値目標と時系列実績を突き合わせられない。
- 対策:KPIの機械可読化(CSV/JSONで時系列)、ダッシュボードはデータの原典にリンクすること。
- e-StatのAPIはあるけど、統一的なエンドポイント設計や認証・レート制御の説明が分散している。
- 対策:RESTfulで一貫したレスポンス(JSON)、OpenAPI定義、SDK例を公開。
具体的なコード例(実務でよく使うパターン)
これ見てくださいよ:国税庁の全件CSVはShift_JISで来ることがあるので、Pythonでの読み方例を示します。
import requests
import io
import pandas as pd
url = 'https://www.houjin-bangou.nta.go.jp/download/zenken/zenken.csv' # 例
r = requests.get(url)
r.encoding = 'cp932' # Shift_JIS系の場合
df = pd.read_csv(io.StringIO(r.text))
print(df.head())
e-StatのAPI呼び出しイメージ(アプリIDが必要):
import requests
API = 'https://api.e-stat.go.jp/rest/3.0/app/getStatsData'
params = {'appId': 'YOUR_APP_ID', 'statsDataId': '0003xxxxxx'}
r = requests.get(API, params=params)
XMLで来る場合が多いので、パースしてJSON化する処理が必要
要するに、ちょっとした変換コードを書くだけで使えるんですけど、公式でサンプルとUTF-8 JSONを出してくれたら最高なんですよね!
KPIと実績のギャップ分析(例:デジタル田園都市交付金)
山口県の交付金実績PDF(検索結果)を見ると、KPIは記載されているけど年度ごとのタイムラインがCSVで出てない。これだと「目標:X、実績:Y」が人手でしか比較できない。
提案:
- KPIごとに機械可読の時系列データを公開(year, region, KPI_id, target, actual)
- データベースを公開して集計クエリが直接叩けるようにする(SQLエンドポイントやBigQuery公開でも良い)
改善提案(優先度付け)
技術的にやるべき実装例:
- S3/CloudFrontで静的CSVホスティング + manifest.json(CSVW)
- OpenAPI で /datasets/{id}/download, /datasets/{id}/query を定義
- JSON-LDでライセンス(CC-BY等)と更新日時を埋め込む
- CIで毎回スキーマ検証(panderaやgreat_expectations を利用)
まとめ
政府のオープンデータ供給は十分に始まっているが、エンジニア的な“すぐ使える形”にはまだ届いていない。UTF-8一本化、スキーマ付きCSV、API整備、KPIの時系列公開をやれば、データの価値は一気に跳ね上がる。正直、ここは改善の余地ありまくりだと思ってます!
おかむーから一言
テクノロジーで社会をアップデートするには、まずデータを“ちゃんと使える形”で公開すること。エンジニアとして、そして起業家として、実装と政策の橋渡しを続けます!
信息来源
- https://www.e-stat.go.jp/
- https://www.jinji.go.jp/content/900024615.csv
- https://www.houjin-bangou.nta.go.jp/download/zenken/index.html
- https://www.env.go.jp/content/900398071.csv
- https://www.mhlw.go.jp/stf/kaigo-kouhyou_opendata.html
- https://www.kantei.go.jp/
- https://dashboard.e-stat.go.jp/
- https://www.kantei.go.jp/jp/naikaku/index.html
- https://www.digital.go.jp/resources/japandashboard
- https://www.kantei.go.jp/jp/news/index.html
- https://www.digital.go.jp/
- https://www.chisou.go.jp/sousei/about/kouhukin/index.html
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf
- https://biz.kddi.com/content/column/smartwork/what-is-digital/
相关报告

代码で語るマニフェスト:以香川县公共设施预约系统为例的技术与数据审视
以香川县公共设施预约系统为例,从API、数据格式与标准化角度检视自治体系统,给出可执行的技术改进方案与代码示例。

用代码说话的宣言:从机器可读性到API化,解读日本数字化政策的数据工程路径
从Digital庁到e-Stat,评估日本数位政策的数据交付形态,提出API化与工程化改进路线,附代码与验证示例。

コードで語るマニフェスト:日本政府データをエンジニア視点で検証する
政府のマニフェストをデータとコードで検証。PDF多用やAPI断片化を指摘し、e-StatやJapan Dashboardを例に具体的な改善案とコード例を提示します。