コードで語るマニフェスト:政府データの今をエンジニア目線で検証

안녕하세요~ 오카무입니다! 오늘은 정부·지자체 공개 데이터들을 코드 관점에서 뜯어보는 글입니다. 정책을 CSV, API, 스키마로 검증하는 ‘코드로 말하는 매니페스토’ 스타일로 갑니다~
- 이 글 3줄 요약
- API 부재·엔코딩·스키마 불명시는 개발자가 실제로 쓸 때 큰 장벽입니다
- 개선안은: 명확한 스키마(CSVW/JSON Schema), API 우선 공개, 자동화된 검증 파이프라인입니다
結論
공개된 CSV들은 '가능성'을 보여주고 있어요! 하지만 엔지니어 관점에서는 아직 생산성 높은 데이터 플랫폼이라고 하기엔 멀었어요. 要するに、機械がそのまま読み取れるルールとAPIがないと、現場での利活用が進まないということです。
レポート本文
何が見えているか(データソース確認)
これ見てくださいよ:検索結果にあるように、notice.go.jp の NICTER注意喚起(https://notice.go.jp/docs/status_nicter.csv)や、環境省・厚労省のCSV(https://www.env.go.jp/content/900398071.csv、https://www.mhlw.go.jp/content/001429177.csv)など、公式ドメインでCSVが直接公開されてるケースが複数あります。
エンジニア的に言うと、CSVで出してくれるのはめっちゃ嬉しいんですけど、次の点が気になるんですよね:
- エンコーディング不明/Shift_JISとUTF-8混在の可能性
- カラム名や日付フォーマットの不統一
- スキーマ定義(型・必須・説明)がない
- API(REST/GraphQL)でのアクセスが用意されていない
総務省の「統計表における機械判読可能なデータの表記方法の統一ルール」(https://www.soumu.go.jp/menu_news/...)や内閣官房の資料(https://www.cas.go.jp/.../data8_siryou1.pdf)は策定が進んでるけど、実運用とギャップがある印象です。
技術的な検証ポイント
ここからは具体的な技術チェックリストと簡単なコード例を出します。コード書く人ならわかると思うんですけど、初歩的なパイプラインでも次が必要です。
- 取得: HTTPヘッダでContent-Type, charsetを確認
- 読込: pandas等で encoding 指定、parse_dates
- スキーマ検証: JSON Schema または CSVW
- 公開: API化(ページネーション、クエリ、メタデータ)
Pythonでの取り込み例(イメージ):
import requests
import pandas as pd
r = requests.get('https://notice.go.jp/docs/status_nicter.csv', timeout=10)
encodingはヘッダ確認後適宜
r.encoding = 'utf-8' # または 'shift_jis'
from io import StringIO
df = pd.read_csv(StringIO(r.text), parse_dates=['date'], dtype={'id': str})
スキーマ簡易チェック
expected_cols = ['date','region','alert_level']
missing = set(expected_cols) - set(df.columns)
print('missing', missing)
要するに、現場ではこういう小手先処理を毎回書くのが面倒なんです!API一本、またはスキーマ付きのデータカタログがあれば不要になるんですよね。
政策評価との接続(KPIと実績のギャップ)
デジタル田園都市国家構想交付金関連の公表資料(https://www.chisou.go.jp/...)を見ると、交付金の成果はKPIベースで報告されていますが、評価の多くが自己評価ベースだったり、機械的な達成率算出に頼っていたりします(検索結果[13])。
エンジニア的には、KPIと実際のデータを直接リンクして検証可能にするのがベスト。例えば交付金の実績レコードに「project_id」「geo_id」「kpi_達成値」を構造化データとして公開して、外部からクロスチェックできるようにする、という話です。
改善提案(具体的)
- 各CSVに machine-readable metadata (CSVW/JSON-LD) を付与
- GET /datasets, GET /datasets/{id}/records のようなRESTを提供
- データを更新するときはバージョンを切って後追い可能に
- CIでスキーマ検証、NULLチェック、型チェックを回す
短いJSON Schemaイメージ:
{
"$id": "https://example.go.jp/schemas/nicter.json",
"type": "object",
"properties": {
"date": {"type": "string", "format": "date"},
"region": {"type": "string"},
"alert_level": {"type": "integer"}
},
"required": ["date","region"]
}
まとめ
- CSV公開は前進。ただし開発者がそのまま使える品質・仕様になってないことが多い
- API化、スキーマ付与、エンコーディング明示、バージョニング、CIによる自動検証が鍵
- 政策KPIと公開データを結びつけて外部検証可能にすれば、透明性と活用が一気に上がる
おかむーから一言
스타트업·엔지니어 출신으로서 말하자면, 테크로 공공을 리모델링할 수 있어요. 데이터가 살아있으면 정책도 살아납니다! 같이 코드로 증명해봅시다!
정보 출처
- https://notice.go.jp/docs/status_nicter.csv
- https://www.env.go.jp/content/900398071.csv
- https://www.mhlw.go.jp/content/001429177.csv
- https://www.inpit.go.jp/content/100869372.csv
- https://www.soumu.go.jp/main_content/000420038.csv
- https://www.zhihu.com/question/290714454
- https://www.cas.go.jp/jp/seisaku/digital_gyozaikaikaku/data8/data8_siryou1.pdf
- https://www.zhihu.com/question/6430289390
- https://www.soumu.go.jp/menu_news/s-news/01toukatsu01_02000186.html
- https://www.zhihu.com/question/38923279
- https://www.chisou.go.jp/sousei/about/kouhukin/index.html
- https://www.chisou.go.jp/sousei/about/kouhukin/pdf/r6_houkokusho-suishin.pdf
- https://www.pref.tokushima.lg.jp/file/attachment/1034065.pdf
- https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf
- https://www.digital.go.jp/policies/digital_garden_city_nation
공유하기
관련 리포트

コードで語るマニフェスト:自治体データとシステムをエンジニア視点で検証する
自治体データはPDFやUIに閉じがち。API-firstとJSON Schemaで再利用性を高め、ガバメントクラウドへ移行する実務ロードマップを提示します。

コードで語るマニフェスト:日本政府データの現場から見る技術検証
政府データは可視化が進むも機械可読性不足が課題。CSV/JSON/API、スキーマ、ID統一で政策検証を自動化しよう。

코드로 읽는 마니페스토: 일본 정부 데이터와 시스템을 엔지니어 관점에서 후벼파기
일본 정부 데이터의 PDF·API·메타데이터 문제를 엔지니어 관점에서 분석하고, 실무 가능한 개선안을 코드 예시와 함께 제시합니다。