代码看宣言:用工程视角检验政府CSV与开放数据实践

どうも〜おかむーです!今天来聊点偏技术又偏政策的东西——把政府的公开数据当做代码来读,看看它们到底能不能上生产环境用!
- 这篇文章基于多个实际gov.go.jp、env.go.jp、mhlw.go.jp等公开CSV与政策文档,做工程化的可用性检查
- 结论是:CSV公开是好事,但格式不统一、元数据不足、API缺失,限制了再利用和自动化分析的可能
- 改善建议包含:统一 schema 与 codebook、提供REST/GraphQL API、发布机器可读元数据(JSON-LD/DCAT)与示例代码
結論
政府・自治体现在越来越多把资料以CSV公开,这对数据再利用极为友好!ただし、機械可読性・スキーマ安定性・API提供の観点で見ると、現場の運用負荷や二次利用の障壁が散見される。要するに、データを「置くだけ公開」から「プロダクトとして運用」するフェーズに移す必要があるということです。
レポート本文
1) 今回参照したデータの状況(これ見てくださいよ)
- notice.go.jp の status_notice.csv(運用通知のCSV): 生データCSVで直接ダウンロードできる、ありがたい!
- inpit.go.jp の国内移行データ一覧表2012.csv: 履歴データがCSVで公開されている
- env.go.jp の茨城県関連CSV(約463KB): 県別データがCSVでまとまっている
- mhlw.go.jp の小規模CSV(13KB): 厚労省系の断片データサンプル
- soumu.go.jp の分類項目名CSV: コードブック的な役割で非常に重要
これだけ見ると「PDFじゃなくCSVで出してくれてる!最高!」って思うんですけど、エンジニア的に言うと課題も多いんです。
2) よくある技術的な問題点(エンジニア的に言うと)
- スキーマ非標準化: 同じ意味の列が省庁ごとに名前や型が違う(例: date, Date, 実施日、YYYY/MM/DD vs YYYY-MM-DD)
- メタデータ欠如: CSVにカラム説明(日本語/英語)、値域、単位、更新周期が添えられていないことが多い
- コードブック管理の不徹底: soumu の分類CSVはありがたいが、更新履歴やバージョンが明示されていない
- API未整備: 手動でCSVをダウンロードして変換するワークフローに依存しがち
- PDF混在: 政策文書や評価報告はPDFが残っていて、機械読み取りに追加工数がいる
要するに「機械で読み込んで繋げる」という前提がまだ完全に満たされていないんですよね。
3) データ品質とKPIギャップの見え方
デジタル田園都市国家構想や交付金関連の評価レポート(chiso.go.jp系)を見ると、政策側はKPIを定めている。一方で、KPIを自動集計するためのデータパイプラインが整備されていないケースがある。
具体例イメージ:
- 政策KPI: 地域のデジタルサービス導入率50%(年度末)
- 実績データ: CSVで各自治体が報告するが、カラム名や欠損扱いがバラバラで自動集計できない
これだと毎回手作業で正規化する作業が発生して、評価の再現性・透明性が落ちるんです。
4) 実務的な改善提案(技術者向け・現場導入しやすい順)
- 要するに「列名・型・サンプル・単位・欠損コード」を機械可読で提供するってことです
- APIでの取り込みが楽になり、差分処理もしやすい
- ページ単位でCSV落とす代わりに、フィルタ・ページネーション・メタデータが取れる
5) コード/処理例(エンジニア的イメージ)
次のPythonスニペットは、CSVを落として日付をパースし、簡単なバリデーションをするイメージです。実行環境や実データでの検証は各自でお願いしますね。
import pandas as pd
from datetime import datetime
url = 'https://notice.go.jp/docs/status_notice.csv'
pandasで直接読み込み、日付列をパースする一例
df = pd.read_csv(url)
例: カラム名の正規化
df = df.rename(columns={c: c.strip().lower() for c in df.columns})
date列の統一処理
for col in ['date', '実施日', 'updated_at']:
if col in df.columns:
df['date'] = pd.to_datetime(df[col], errors='coerce')
break
simple schema check
required = ['id', 'date']
missing = [c for c in required if c not in df.columns]
if missing:
print('missing required columns:', missing)
要するに、少しの前処理でAPI化の余地が見えるってことです
6) 実装コストとガバナンスの話
- 小さな自治体だと技術スタッフが不足しているので、国側で「データ公開プラットフォーム」をSaaS的に提供するのが効率的
- セキュリティや個人情報は必須で配慮。公開前の自動検査(PII検出)をCIに組み込むべき
- データ契約(ライセンス)を明示しておけば、企業やNPOの二次利用が活発になる
まとめ
- CSVでの公開は前進だが、機械可読性・スキーマ安定性・API整備でまだ改善余地あり
- 技術的にはJSON Schema、API、DCATメタデータ、CIでの品質チェックを導入すると劇的に再利用が増える
- 政策KPIと実データの接続を自動化できれば、評価の透明性とPDCAが回りやすくなる
おかむーから一言
技術で行政をアップデートするのは地味な仕事だけど、成果は大きいです!小さなスキーマ整備から始めて、データをプロダクト化していきましょう!
信息来源
- https://notice.go.jp/docs/status_notice.csv
- https://www.inpit.go.jp/content/100869371.csv
- https://www.env.go.jp/content/900398071.csv
- https://www.mhlw.go.jp/content/001429362.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/pdf/r6_houkokusho-suishin.pdf
- https://www.chisou.go.jp/sousei/about/kouhukin/index.html
- https://www.city.moka.lg.jp/material/files/group/47/r6digitaldennennkouhukinnhyouka.pdf
- https://www.cas.go.jp/jp/seisaku/digitaldenen/sougousenryaku/index.html
- https://www.digital.go.jp/policies/digital_garden_city_nation
相关报告

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

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

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