代码看清单:用工程视角解读自治体开放数据与DX

どうも〜おかむーです!今天来点技术味的城市治理观察,咱们用代码和数据聊聊自治体的开放数据现状与改进路线~
- 这篇文章以东京都政的开放数据目录与GovTech东京的实践为样本,讨论自治体数据的机器可读性和API化问题
- 指出常见的PDF陷阱、CSV格式不一致、缺乏Schema和API等技术痛点,并给出可落地的工程方案
- 最后提供示例代码片段、质量检测思路与小型自治体可采纳的最小可行流程
結論
多数地方自治体已经开始把数据发布出来了(参见東京都オープンデータカタログ、各市的CSV列表),但很多数据仍以PDF或非结构化格式发布,缺乏一致的Schema、稳定的API与機械可讀的メタデータ。要把开放数据变成真正的政策输入,需要把「公開」升级为「可用」:标准化CSV/JSON、提供REST/GraphQL API、自动化质量检查与明确的ライセンス标注。
レポート本文
現状観察:哪里做得还不错,哪里还卡着
これ見てくださいよ:東京都オープンデータカタログ(https://catalog.data.metro.tokyo.lg.jp/dataset)里确实有大量CSV与XLSX,这很棒!GovTech東京也在推动ダッシュボード体系化(参考:https://www.govtechtokyo.or.jp/services/data-utilization/)。一方で,很多自治体的历史文档、報告書仍然以PDF发布(不易机器解析),或在网页上直接展示表格但没有API可抓取。
参考事例:新潟市有一份针对CSV制作的マニュアル(CSVマニュアルPDF),函館市列出CSV数据集清单(harp.lg.jp),埼玉県データカタログ也在做目录化。这说明意识在,但落地细节参差不齐。
技术性问题点(按工程师角度说)
- PDF优先:数据被锁在PDF里,解析成本高且不稳定。要么用OCR/Tabula抓表,要么放弃实时更新性。
- CSV格式不统一:编码(UTF-8 vs Shift_JIS)、日期格式(YYYY/MM/DD vs YYYY-MM-DD)、分隔符、ヘッダ命名不一致,ETL很容易出错。
- 缺乏Schema与メタデータ:没有字段定义、单位说明、更新频度等,API使用者无法自动校验。
- API缺失或不稳定:许多自治体没有公开REST API,或API权限/レート限制不明确。
- ライセンス不明瞭:有些站点没有CC等明示,二次利用法的法律风险增加。
具体的工程建议(可实施清单)
コード例:从开放目录抓CSV并做简单校验(Python)
import requests
import pandas as pd
from io import StringIO
url = 'https://catalog.data.metro.tokyo.lg.jp/dataset/xxxx/resource/yyy.csv' # 示例URL
r = requests.get(url, timeout=10)
r.encoding = 'utf-8'
df = pd.read_csv(StringIO(r.text))
简单校验
assert 'date' in df.columns, '缺少date列'
df['date'] = pd.to_datetime(df['date'], errors='coerce')
print(df.isna().sum())
要対PDF表格做自动化抓取的话,可以用tabula-py或camelot:
import tabula
dfs = tabula.read_pdf('report.pdf', pages='all', multiple_tables=True)
不过长远讲,不应该靠PDF解析来做正经业务流程。
指标化政策执行效果:怎样衡量「开放数据是否可用」
建议自治体在绩效指标里加入几项可量化指标:
- dataset_publish_rate:应公开数据集数与实际公开数比
- machine_readable_rate:以CSV/JSON/API公开的数据占比
- api_uptime:API可用率
- freshness_days:数据平均更新延迟
小自治体的实际路径(最小可行プロダクト)
- 阶段1:识别10个高价值表格,保证以CSV公开并UTF-8编码,附带README与License
- 阶段2:用GitHub + GitHub Actions做データ发布CI(push触发转换与検証),并把CSV镜像到自治体サイト
- 阶段3:使用轻量CKAN或Static JSON API暴露接口,提供OpenAPI文档
- 阶段4:邀请市民/开发者进行ハッカソン,收集二次利用事例,反馈改善
まとめ
自治体のデータ公開は進んでいるが、公開形式と品質がバラバラで“利用可能性”に差がある。エンジニア的に言うと、API一本と標準スキーマがあれば大部分の利活用は劇的に楽になるんですよね。PDFはあとでやるとして、まずはCSV/JSONで一本化、SchemaとLicenseの明示、CIで品質担保をセットする——これが最速の実装プランです。
おかむーから一言
作为创业者和工程师,我一向相信「把东西做成API」的力量。テクノロジーで社会をアップデートするって、結局はデータをちゃんと使える形にするだけなんですよ!
信息来源
- https://support.yahoo-net.jp/voc/s/ytop-sp
- https://www.govtechtokyo.or.jp/services/data-utilization/
- https://support.yahoo-net.jp/PccTop/s/topic/0TO2r000000GnthGAC/yahoo-japan%E3%83%88%E3%83%83%E3%83%97%E3%83%9A%E3%83%BC%E3%82%B8%E5%85%A8%E8%88%AC
- https://note.govtechtokyo.jp/n/n77785a8254d6
- https://support.yahoo-net.jp/PccHelpcenter/s/
- https://zenn.dev/govtechtokyo/articles/b65dc687e50918
- https://www.trans-plus.jp/blog/column/202210_municipality-dx
- https://picks-design.com/blog/5751/
- https://lg.reserva.be/ux-design/
- https://www.nttdata-kansai.co.jp/media/098/
- 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を例に具体的な改善案とコード例を提示します。