代码で語るマニフェスト:从CSV到API,看政府数据能不能被工程化

どうも〜おかむーです!大家好,我是おかむー!今天想做一篇偏技术的博客,用“代码で語るマニフェスト”这个概念,从数据和工程的角度去检验政府/自治体的数据与系统。エンジニア的に言うと、政策的好不好落地,很多时候取决于数据能不能被程序直接读写处理。~
- 这篇报告检测了市县/都道府のオープンデータカタログ、CSV与PDF公开情况、API可用性与质量
- 结论先行:许多数据“有发布”,但机器可用性、schema稳定性、更新频度等不足,影响政策量化与评估
- 改进重点:统一schema、发布OpenAPI/JSON Schema、建立SLA与版本管理、增强可追溯性
結論
总体来说,自治体和中央机关已经开始把数据放出来(参考:東京都オープンデータカタログ、Niigata/埼玉/函館的CSV清单),でもエンジニア視点ではまだまだ「人間向け」公開が多いです。API一本で引ける・常時更新される・スキーマが安定しているという条件を満たすデータは少数。要するに、データ公開は始まっているけど“プロダクト品質”には届いていないということです。
レポート本文
1) 現状観察と問題点
これ見てくださいよ:東京都のデータカタログはCSVやXLSXで多く公開している(https://catalog.data.metro.tokyo.lg.jp/dataset)。一方で新潟市や埼玉県、函館市の例を見ると、CSVはあるけどマニュアルやスキーマがバラバラ(参照:新潟市CSVマニュアル、埼玉データカタログ、函館CSV一覧)。中国側だと企业信用信息や工信部备案サイト(gd.gsxt.gov.cn、beian.miit.gov.cn)がAPIでの安定提供に課題があるという指摘もあります。
主な技術的課題:
- PDFに埋まった統計表がまだ多い→機械可読性ゼロ
- CSVはあるがヘッダが不統一、欠損値ルール不在
- 更新頻度・最終更新日時が明記されないデータが散見
- APIが未整備か、あっても認証・レート制限・レスポンス仕様が非公開
- ライセンス表記が曖昧で二次利用時に法的リスク
要するに、これらはデータプロダクトとしては品質不足なんです。
2) 技術検証(小さな実験例)
エンジニアなら分かると思うんですけど、チェックはこんな感じで自動化できます。例えば東京都カタログのCSVを素早く検査するPythonスニペット:
import requests
import pandas as pd
url = 'https://catalog.data.metro.tokyo.lg.jp/dataset/xxx/resource/yyy.csv'
r = requests.get(url, timeout=10)
if 'application/pdf' in r.headers.get('Content-Type',''):
print('PDF detected -> 要OCR或tabula')
else:
df = pd.read_csv(io.StringIO(r.text))
print(df.columns.tolist())
print('rows', len(df))
PDFが来たらtabula-pyやcamelotで抽出、だけどレイアウト依存で壊れやすい。CSVが来てもdtype推定、欠損パターンの検出、ユニット(円、件、人数)の正規化が必要です。
3) 政策の数値目標と実績ギャップの見方
GovTech東京の取り組み(ダッシュボード整備)を見ると、可視化は進むが元データの更新遅延や欠損でダッシュボードが古い値を表示するリスクがある。政策側は「X年までにY件を達成」と目標を立てても、その実績データがリアルタイムに計測・公開されなければ検証ができない。従って、政策評価のためのデータSLA(更新頻度・遅延許容・誤差限界)を設定すべきです。
4) 改善提案(技術的ロードマップ)
- API化:まずはDatasetごとにOpenAPI仕様書を作る。レスポンスはJSON+JSON Schemaで型を保証する
- Data Package(Frictionless Data)を導入し、schema.ymlでカラムの意味・単位・欠損ルールを明示
- バージョン管理:データのバージョンを付与して後方互換性を維持
- SLAとモニタリング:更新頻度と最終更新日時をメタデータで必須化。Prometheusで取得成功率を監視
- 機械可読性強化:PDFは補助フォーマットに留め、一次公開は必ずCSV/JSON
- サンプルコード公開:curl、Python、Rのサンプルをページ上に置く
運用上の注意:認証が必要なAPIではOAuth2+APIキーの発行、レート制限の明示、テスト用のステージングデータの提供を。
5) 活用シナリオ
- ジャストインタイムな政策ダッシュボード(Python/NodeでETL→DB→Grafana)
- 市民向けアプリが自治体API一本で住所データや施設データを参照
- オープンデータを使ったコンペティションで新サービス創出(CSVの質が高ければ実装コストが激減)
まとめ
要点をまとめると:データ公開は進んでいるけど、機械可読性・API品質・スキーマ安定性がボトルネック。エンジニア的に言うと、ここは「仕様化→実装→運用」サイクルを回すだけの話です。具体的にはOpenAPI/JSON Schema、Data Package、SLA、そしてサンプルコードの提供を自治体の標準にすれば、政策の実効性評価と市民サービスの迅速な開発がぐっと楽になりますよね。
おかむーから一言
テクノロジーで社会をアップデートするのは夢物語じゃないです!データの“プロダクト品質”を自治体に組み込めば、政策はもっと検証可能で改善しやすくなります。僕も一緒にやりたい!
信息来源
- https://www.zhihu.com/question/40553450
- https://www.govtechtokyo.or.jp/services/data-utilization/
- https://www.zhihu.com/tardis/zm/art/1924492115896960699
- https://note.govtechtokyo.jp/n/n77785a8254d6
- https://www.zhihu.com/question/372341437
- https://www.zhihu.com/question/290714454
- https://metidx-gov.note.jp/n/n9468573c213b
- https://www.zhihu.com/question/6430289390
- https://zenn.dev/govtechtokyo/articles/b65dc687e50918
- https://www.zhihu.com/question/38923279
- https://catalog.data.metro.tokyo.lg.jp/dataset
- https://www.city.niigata.lg.jp/shisei/seisaku/it/open-data/index.files/csv_manual_v1.1.pdf
- https://www.city.niigata.lg.jp/shisei/seisaku/it/open-data/index.html
- https://opendata.pref.saitama.lg.jp/datasets
- https://www.harp.lg.jp/opendata/dataset/79.html
相关报告

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

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

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