代码で語るマニフェスト:从API与CSV看政府数据的可用性与改进路径

どうも〜おかむーです!今天来聊聊政府数据那点事儿,技术角度切入,像写代码一样把政策和数据对齐~
- 这篇文章要点三行:
- 要点是把PDF→CSV/JSON、把零散目录→统一API、并建立数据质量CI;技术上完全可做!
- 我给出审计思路、示例代码和工程级改进建议,能让政策目标变成可验证的工程指标。
結論
现状是「有数据但不够可用」。政策层(例:デジタル庁关于行政データの機械可読性规则)已经在推CSV/Excel等机器可读格式,但实际目录里仍有大量PDF、缺乏统一OpenAPI规格与质量指标。要把“开放数据”变成能落地的公共产品,需要从工程化的角度做三件事:1) 规范格式与元数据(CSV/JSON + DCAT/CSVW/OpenAPI);2) 建立自动化质量检测(schema 校验、CI、指标监控);3) 提供可发现的API目录与样例代码,降低再利用门槛。
レポート本文
1) 现状与证据链
これ見てくださいよ:政府已有官方汇集与API入口——例如 e-Gov 行政API(https://www.e-gov.go.jp/digital-government/api)、東京都のOpen Data API(https://portal.data.metro.tokyo.lg.jp/opendata-api/)、DATA GO JP 与 e-Stat 等(參見 https://japan-opendata.github.io/awesome-japan-opendata/)。同时,デジタル庁就“機械可読性”给出了明确规则草案与决定(参见 https://www.digital.go.jp/.../20260331_meeting_executive_outline_06.pdf)。要するに,政策框架有了,但实现上还有差距。
2) 常见技术问题(エンジニア的に言うと)
- 数据以PDF发布:解析成本高、结构不稳。要するに人手工翻表的工作量太大。
- API不统一:没有OpenAPI/JSON Schema,字段命名不一,缺乏语义标识符。
- 元数据缺失:缺少描述、许可证、更新频率、schema,难以自动发现和治理。
- 质量不可测:没有数据完整性、时间戳、版本号等指标。
3) 如何做审计 — 简单的工程流程与示例代码
目标:计算“机器可读数据集比例”(CSV/JSON/Excel vs PDF)。思路:抓取API目录/数据目录页面、解析每个资源的MIME或扩展名、统计。
示例(Python伪代码):
import requests, pandas as pd
1) 抓取 e-Gov API カタログ(示例URL)
resp = requests.get('https://api-catalog.e-gov.go.jp/info/ja/apicatalog/list')
items = resp.json()['items']
rows = []
for it in items:
url = it.get('downloadUrl') or it.get('homepage')
r = requests.head(url, allow_redirects=True)
rows.append({'title':it['title'],'content_type': r.headers.get('Content-Type')})
df = pd.DataFrame(rows)
print(df['content_type'].value_counts())
这个流程能快速给出机器可读 vs 非机器可读的比例。要注意:一些站点会把CSV放在HTML页面里,需要进一步抓取页面内资源链接。
4) PDF表的应对策略
- 优先争取源端提供CSV/JSON;如果必须从PDF提取,使用 tabula-py / camelot 自动化提取,但需做后处理(类型转换、空值处理)。
- 提供一套“PDF→结构化数据”的CI:每次数据更新触发提取,自动做schema校验、diff并上报异常。
示例命令:
# 使用 tabula 提取表格为CSV
tabula -p all -f CSV input.pdf -o output.csv
5) API质量改进清单(工程级)
- 发布OpenAPI/JSON Schema与例子请求响应。
- 为每个数据集提供DCAT或CSVW元数据(字段说明/单位/更新频度/ライセンス)。
- 强制机器可读格式(CSV/JSON/Excel)为优先级,PDF作为补充且提供原始与结构化两份。
- 建立数据质量仪表盘(KPI:可用性%、延迟、schema匹配率、完备率)。
- 提供SDK或范例(Python、curl),降低使用门槛。
6) 指标化政策目标与评估
政策说“机器可读化”,那就直接设工程指标:
- 目标1:X年内 ≥90% 数据集为CSV/JSON/Excel
- 目标2:≥80% API拥有OpenAPI规格并通过schema校验
- 目标3:为每个数据集提供可机器读取的许可证与更新时间戳
评估方式就是第3节的自动审计流程+质量仪表盘;这样政策就从模糊口号变成可验证的SLO/SLI。
7) 运用场景示例
東京都例子:公共施設的无障碍信息已通过Open Data API提供(GET /PublicFacility),如果字段标准化并保证CSV/JSON就能催生无障碍导航App、路线上无障碍优先级自动计算、以及自治体内部的运维自动化。
まとめ
- 政府在开源与API化上已经有基础设施,但真正的价值在于“工程化落地”:格式、元数据、质量检测、开放规范缺一不可。
- 技术上可行且成本可控:自动化抓取/校验/发布管线、OpenAPI + CSVW、数据质量CI、明确KPI都能在半年到一年内显著提升再利用率。
- 从政策到代码的链路需要打通——既要有规则(デジタル庁的机可读规则),也要有工程实践与监控。
おかむーから一言
技术能把模糊的政策变成可验证的产品,我愿意把手头的全栈经验丢进去一起干!テクノロジーで社会をアップデートしよう!
信息来源
- 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://www.e-gov.go.jp/digital-government/api
- https://portal.data.metro.tokyo.lg.jp/opendata-api/
- https://api-catalog.e-gov.go.jp/info/ja/apicatalog/list
- https://japan-opendata.github.io/awesome-japan-opendata/
- https://odcs.bodik.jp/developers/
- https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/256dcba6-b936-4031-b88d-3abb27e27f9b/f7af0ca4/20260331_meeting_executive_outline_06.pdf
- https://www.cas.go.jp/jp/seisaku/digital_gyozaikaikaku/kakusyoDX4/kakusyoDX4.html
相关报告

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

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

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