コードで語るマニフェスト:公共データをエンジニア視点で検証するレポート

どうも〜おかむーです!大家好,我是おかむー!今天用一点工程师的眼光,带大家看几份来自日本政府/自治体的公开数据,聊聊它们的可用性、技术问题和改进方向〜
- 这篇文章检视了多份 gov CSV(例:https://notice.go.jp/docs/status_notice.csv、https://www.env.go.jp/content/900398071.csv、https://www.soumu.go.jp/main_content/000323625.csv)
- 结论是:有数据公开是好事,但机读性、元数据、API不足,阻碍了二次利用
- 我会给出工程化的改进清单、示例代码和可操作的落地建议
結論
公開CSVは多いけど「ただ置いてあるだけ」なケースが目立つんですよね。エンジニア的に言うと、UTF-8でスキーマを公開して、API一本とデータ検証パイプラインを用意すれば、再利用性が劇的に上がるんです!要するに、データは出して終わりじゃなくて、使えるカタチに整備することが重要ということです。
レポート本文
これ見てくださいよ:ソース例と現状
- notice.go.jp の status_notice.csv、env.go.jp の 900398071.csv、soumu.go.jp の全国CSVなど、govドメインでCSVが公開されている。これは歓迎すべき!
- 一方で現場でよくある問題:
- カラム名・日付フォーマットがバラバラ(例:YYYY/MM/DD, YYYYMMDD, 和暦混在)
- スキーマ(単位、測定基準、更新頻度、ライセンス)が明示されていない
- APIが無く、スクレイピングや定期ダウンロードに頼らざるを得ない
技術的検証ポイント
- 機械可読性チェックリスト(参照: AI-Readyチェックリスト)に照らすと、
- メタデータ:CSVW / Data Package / DCAT でスキーマを公開
- バージョニング:URLを固定しつつバージョン管理(例:/v1/)
実務で使うときのコード例(Python/pandas)
import chardet
from pathlib import Path
import pandas as pd
p = Path('status_notice.csv')
b = p.read_bytes()
enc = chardet.detect(b)['encoding']
df = pd.read_csv(p, encoding=enc)
日付正規化
for c in df.columns:
if 'date' in c.lower():
df[c] = pd.to_datetime(df[c], errors='coerce')
型と欠損を検査
print(df.dtypes)
print(df.isnull().sum())
要するに、実務ではまずエンコーディング検出→日付正規化→スキーマ検証が基本なんですよね。
KPIと実績のギャップ検証(手順)
サンプルSQL(SQLite):
SELECT year, target, actual, (actual - target) as gap
FROM kpi JOIN measurements USING(indicator_id, year);
この流れで、政策目標と実績のギャップを定量的に示せます。
APIとデータパイプラインの提案
- 最低要件:REST/JSON API + OpenAPI 仕様、ページング、フィルタ、日付レンジ
- 推奨:CSVW メタデータ、DCAT カタログ、CC-BY等の明確なライセンス表記
- 品質管理:Great Expectations 等で自動テスト、CIでのバリデーション
- 配布:CDN と ETag/Last-Modified、履歴データは S3 等でバージョニング
実際の導入例(短いFlask化スニペット):
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/api/v1/notices')
def notices():
# CSV読み込みはキャッシュ化すべし
return jsonify(rows)
活用の可能性
- ローカル自治体の交付金・事業実績データを標準化すれば、RAIDAのような評価プラットフォームに容易に接続可能
- AI用途:モデル訓練のためにはスキーマ安定性とライセンスが重要。PDF埋め込みデータは前処理コストが高い
まとめ
- 公開は前提だが、機械可読性・スキーマ・APIが揃って初めて“使えるデータ”になる
- 実務対応としては「UTF-8化→CSVWでスキーマ公開→API提供→自動検証パイプライン」を推奨
- 小さく始めて、APIとメタデータを整備すれば、自治体のデジタル実装が一気に進むはず!
おかむーから一言
テクノロジーは待ってくれない。データをただ置くだけじゃなくて、使われる形に整備しようぜ!僕はそれをエンジニアリングで実現したい〜
信息来源
- https://notice.go.jp/docs/status_notice.csv
- https://www.env.go.jp/content/900398071.csv
- https://www.inpit.go.jp/content/100869372.csv
- https://www.mhlw.go.jp/content/001429362.csv
- https://www.soumu.go.jp/main_content/000323625.csv
- https://www.zhihu.com/question/290714454
- https://okamu.ro/insight/ai-ready-administrative-data-checklist
- https://www.zhihu.com/question/6430289390
- https://www.cas.go.jp/jp/seisaku/digital_gyozaikaikaku/data8/data8_siryou1.pdf
- https://www.zhihu.com/question/38923279
- https://www.chisou.go.jp/sousei/about/kouhukin/index.html
- https://www.digital.go.jp/
- https://raida.go.jp/
- https://www.chisou.go.jp/sousei/pdf/r5_guideline-checkaction.pdf
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
相关报告

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

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

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