代码で語るマニフェスト:从API到CSV,解读政府数据的技术账本

どうも〜おかむーです!大家好,我是おかむー!今天想用「代码で語るマニフェスト」的方式,从工程与数据角度拆解日本与地方政府的公开数据现状,指出问题并给出可落地的改善建议~
- 这篇文章看三点:政府有API和开放数据目录,但格式不一、机器可读性不足;PDF散落是最大敌人,API覆盖度和质量参差;通过工程化流程(ETL、schema、CI)能把政策宣言变成可验证的指标。
- 技术结论:把数据先做成稳定的JSON/CSV、配套OpenAPI/RateLimit文档、加上数据版本与Schema测试,能显著提升政策可验证性。
- 我给出三类可执行建议:数据产出端标准化、管道与验证自动化、对外开放的SDK/示例代码,让民间能直接复现政策成效。
結論
政府和自治体现在已经有不错的起点(参见e-Gov API、東京都オープンデータカタログ、GovTech東京的实践),但在机器可读性、格式统一、数据质量与可验证性上还有明显缺口。要把“政策目标→执行→评估”变成闭环,技术上需要:
要するに、政策宣言不仅要写在白皮书和PDF里,还要把数字以工程友好的方式发布,这样民间、研究者、メディア才能用代码复现、监督和改进政策。
レポート本文
現状スナップショット(资料与参考)
これ見てくださいよ:
- e-Gov API カタログ(APIの存在と概要):https://www.e-gov.go.jp/digital-government/api
- 東京都オープンデータカタログ(API例:PublicFacilityなど):https://portal.data.metro.tokyo.lg.jp/opendata-api/
- GovTech東京の事例紹介(ダッシュボードと利用促進):https://www.govtechtokyo.or.jp/services/data-utilization/ と note の報告
これらは良い出発点なんですけど、現場でよくある問題は以下。
- PDFファイルにまとめて公開 → 機械可読性ゼロ。表は画像か複雑なレイアウトで埋められている。要するに、人が目で読む用に最適化されているだけ。
- APIはあるけどスキーマが曖昧 → フィールド名が自治体でバラバラ、データ型が安定しない。
- メタデータ不足 → 更新日、ライセンス、作成元、計測方法が欠けがち。
- サンプルコードやクライアントライブラリがない → 使い方が分からない。
技術的にどう検証するか(工程と手法)
1) 入手フェーズ:
- 先にAPIがある場合はOpenAPI/Swaggerを確認、無ければHTML/CSVリンクやPDFを収集。
- e-Govや都のオープンデータカタログはまずカタログAPIを叩くのが早い。
2) 機械可読性チェック:
- CSV/JSONが存在するか?存在しなければPDF。PDFはtabula/camelotで抽出し、正規表現で列名を揃える。
- 例:PDFからテーブルを取るPythonスニペット
# 要先 pip install tabula-py pandas
import tabula
import pandas as pd
tables = tabula.read_pdf('budget_report.pdf', pages='all', multiple_tables=True)
tablesはDataFrameのリスト。後続でカラム正規化を行う
3) API利用例(東京都の公共施設APIを想定)
import requests
import pandas as pd
url = 'https://portal.data.metro.tokyo.lg.jp/api/PublicFacility'
resp = requests.get(url, params={'limit':100})
data = resp.json()
df = pd.json_normalize(data['items'])
print(df.head())
4) 品質検査(自動化できる)
- Schema validation(pydantic / jsonschema)で型チェック。
- 欠損率、日付のレンジ、一意キー(ID)の重複検査。
- 時系列データなら遅延差分検査(前回リリースとの差分が大きければアラート)。
5) 指標整合性テスト(政策目標と実績のギャップ分析)
- 政策目標は白書や予算資料に記載されることが多いがPDFに埋もれている場合がある。まず目標値を機械読める形で抽出(手動タグ付け→構造化)。
- 実績データをAPI/統計表から取得して、年次・四半期で比較。差分を計算して可視化。
簡単な差分コード例:
# df_goal, df_actual は keyでマージできるDataFrame
merged = df_goal.merge(df_actual, on='metric_code', suffixes=('_goal','_actual'))
merged['gap'] = merged['value_actual'] - merged['value_goal']
print(merged[['metric_code','value_goal','value_actual','gap']])
政策数値目標のよくあるギャップ(典型パターン)
- 目標が累積ベース/年度ベースで曖昧 → 計算方法の不一致で見かけ上の達成状況が変わる。
- データ更新頻度が低い → 実績の最新値が反映されない。
- 指標定義がたびたび変わる → 時系列の継続性が失われる。
こういう時は「指標定義ドキュメント」と「バージョン付きデータセット」を守ればかなり解消するんですよね。
改善提案(実践的でプログラム可能)
まとめ
- 政府・自治体は既にAPIやオープンデータ拠点を作り始めているが、機械可読性・スキーマ整備・データ品質の自動検証が足りない。
- エンジニア的に言うと、API一本と良質なCSVがあれば多くの政策検証はAPIコール数行+pandasで再現できるんです。
- 具体的アクションは:CSV/JSON優先、メタデータ(DCAT)必須、schema validationをCIに組み込む、サンプルコードで利用を促進する、という順序で導入すると効果が出やすい。
おかむーから一言
社会をコードで検証するのってマジで楽しいんですよ!テクノロジーで政策をオープンにして、数字で語れる社会を一緒に作りましょう。起業家兼エンジニアとして、現場で使えるツールをどんどん出していきたいです!
信息来源
- https://www.zhihu.com/question/290714454
- https://metidx-gov.note.jp/n/n9468573c213b
- https://www.zhihu.com/question/6430289390
- https://www.trans-plus.jp/blog/column/202210_municipality-dx
- https://www.zhihu.com/question/38923279
- https://www.zhihu.com/question/40553450
- https://www.govtechtokyo.or.jp/services/data-utilization/
- https://www.zhihu.com/question/383506173
- https://note.govtechtokyo.jp/n/n77785a8254d6
- https://www.zhihu.com/question/372341437
- https://www.jichi.ac.jp/
- https://www.e-gov.go.jp/digital-government/api
- https://www.jichi.ac.jp/web_text/
- https://portal.data.metro.tokyo.lg.jp/opendata-api/
- https://www.jichi.ac.jp/library/
相关报告

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

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

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