用代码说清政见:日本地方政府开源数据的技术检阅

どうも〜おかむーです!大家好,今天带来一篇偏工程视角的地方政府数据检阅,用「コードで語るマニフェスト」的思路把政策变成数据、把承诺变成接口。
- 这篇文章检视了东京都、埼玉县、新潟市等开放数据实践的格式与可用性
- 指出常见问题:PDF堆积、编码/字段不规范、缺乏稳定API与版本管理
- 提出可执行改进建议:Schema、API、预算—绩效的链路化,以及具体代码示例
結論
总体来说,日本地方自治体已经把数据放出来是好事,但从工程视角看,很多数据还没准备好被“代码化”。要把政策落到可以自动化分析和持续监控的地步,需要统一的机器可读规范(UTF-8 CSV / JSON Schema)、稳定的API、以及把预算/绩效以ID串联起来。要不然,数据只是静态证明文件,而不是治理工具。
レポート本文
现状观测:谁在做、怎么做
これ見てくださいよ。东京都オープンデータカタログ(https://catalog.data.metro.tokyo.lg.jp/dataset)公开了大量数据集(例如防灾意识调查的CSV/XLSX),埼玉県オープンデータ(https://opendata.pref.saitama.lg.jp/)的目录很多(检索结果显示 1329 件),新潟市还专门做了 CSV 制作手册(https://www.city.niigata.lg.jp/.../csv_manual_v1.1.pdf)。
一方面,数据量与意识都在提升;另一方面,质量与可用性参差不齐:
- 有的是直接 CSV,可直接解析(好);
- 有的把数据塞到 PDF 或以不规范编码发布(坏);
- 很多目录没有明确的 API 说明或 Schema,导致每次抓取都像爬网页。
PDF vs CSV:机读能力的分水岭
新潟市的 CSV 手册是个好例子,说明“要是每个自治体都这样就好了”。要点是:CSV 必须使用 UTF-8,字段名明确,附带数据字典。现实里仍有不少数据只放 PDF,或 CSV 编码混乱,导致工程师要花大量预处理时间。要するに——PDF 不是数据接口,CSV 才是。
API 可用性、数据格式质量评估
- 检索到的若干数据源(如 notice.go.jp 的 CSV:https://notice.go.jp/docs/status_notice.csv)可以直接通过 HTTP 下载,适合自动化管道。
- 但很多自治体目录只是展示下载链接而已,缺乏统一的 REST API、缺少 JSON Schema / Data Dictionary,也没有版本号或变更日志。
エンジニア的に言うと、API 一本で解決する話なんですよね。理想:
- 每个数据集提供 JSON 和 CSV 两种格式;
- 提供 JSON Schema(或使用 Frictionless Data 的 datapackage.json);
- 提供 ETag / version 字段以方便缓存与变更检测;
- 提供分页、过滤、排序等基本查询参数。
代码示例:从 CSV 到可验证的数据流水线
下面给出一个最小的 Python 示例,说明抓取并用 pandas + jsonschema 验证的思路:
import requests
import pandas as pd
from jsonschema import validate
csv_url = 'https://notice.go.jp/docs/status_notice.csv'
resp = requests.get(csv_url)
resp.encoding = 'utf-8'
with open('status_notice.csv', 'wb') as f:
f.write(resp.content)
df = pd.read_csv('status_notice.csv')
print(df.head())
假设有一个 schema.json
from json import load
with open('schema.json') as f:
schema = load(f)
validate(instance=df.to_dict(orient='records')[0], schema=schema)
要点是:抓取->编码确认->结构化->Schema 验证->上链(存入数据库或数据仓库)。这样才能把“文件”变成“接口”。
政策指标与实际数据的对接:如何把承诺变成可检验的代码
典型问题是政策文本写了目标(例如数字田園都市国家構想交付金要支持若干项目),但没有把“预算项”“KPI”以机器可读方式发布。以須賀川市的实绩评价(https://www.city.sukagawa.fukushima.jp/.../4045.html)为例,报告里有外部评估,但若把每个项目的预算、期望 KPI、实际 KPI 都当成数据集并赋予唯一 ID,就能自动化做差异分析。
建议的做法:
- 每个补助项目生成唯一 project_id;
- 数据库字段包含 budget_amount, start_date, end_date, expected_kpi[], actual_kpi[];
- 在开放目录中暴露一个 /projects API,支持按年度、自治体、交付金类型筛选;
- 提供可机读的绩效时间序列,便于做趋势与偏差检测。
示例 SQL(把预算和绩效 join 在一起):
SELECT p.project_id, p.budget_amount, k.kpi_name, k.expected_value, k.actual_value
FROM projects p
LEFT JOIN project_kpis k ON p.project_id = k.project_id
WHERE p.prefecture = 'Saitama' AND p.fiscal_year = 2024;
改进建议(可操作清单)
这些改进并不需要天价投入,很多都是工程实践和治理流程的重构。
まとめ
- 日本地方政府在开放数据上已经有基础,但“放文件”与“放接口”是两回事;
- 关键在于机器可读性、Schema、API 与预算—绩效的链路化;
- 实务上可以通过 CSV/JSON Schema、API、版本管理和唯一 ID 约定,在半年到一年内大幅提升可用性。
おかむーから一言
テクノロジーで社会をアップデートするんだ!データをただ置くんじゃなくて、政策をコード化して検証可能にするのが次のステップだと思うんです。簡単な一歩から一緒にやりましょう!
信息来源
- https://catalog.data.metro.tokyo.lg.jp/dataset
- https://opendata.pref.saitama.lg.jp/
- https://opendata.pref.saitama.lg.jp/datasets
- 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://www.digital.go.jp/
- https://www.chisou.go.jp/sousei/about/kouhukin/index.html
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://www.city.sukagawa.fukushima.jp/shisei/gyoseiunei/keikaku/chiho_sosei/1015604/4045.html
- https://column.nippoukun.bpsinc.jp/what-is-digitization/
- https://notice.go.jp/docs/status_notice.csv
- https://www.jinji.go.jp/content/900024615.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
相关报告

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

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

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