代码で語るマニフェスト:从PDF到API,政府数据的工程视角评估

IT政策提案
代码で語るマニフェスト:从PDF到API,政府数据的工程视角评估

どうも〜おかむーです!今天聊点既技术又政策的东西,轻松一点哈~

  • 行政数据很多藏在PDF或专有系统里,机器可读性还不够高
  • 日本政府近年在推行「機械可読性ルール」与自治体系统标准化,但落地有差距
  • 提出以API-first、开放格式与CI验收来提升可用性与可审计性

結論

政府和地方自治体在数据公开上政策方向是对的(参见Digital庁、内閣官房资料),但工程落地层面常被PDF、Excel断层和专有系统阻隔。要真正把政策变成可复用的数据能力,关键在于:统一数据契约(schema)、API优先、以及把“机器可读”作为验收标准而不是附带说明。

レポート本文

現状速览(これ見てくださいよ)

  • 官方文档与决策:内閣官房与Digital庁在2026/03/31有关于「行政データにおける機械可読性に関するルール」的决定(例见 https://www.cas.go.jp と https://www.digital.go.jp の相关资料),目标降低PDF依赖、提高CSV/Excel/JSON等格式的可用性。
  • 自治体系统標準化:総務省和デジタル庁有推动地方基幹系统统一化和ガバメントクラウド迁移(参见 https://www.digital.go.jp/policies/local_governments 和 https://www.soumu.go.jp),目标是降低運営経費和实现共通化。

要するに:方向对,但数据常常还在“人眼可读”的PDF里,机器要用就得额外爬、手工转或用OCR,效率和可信度都受影响。

PDF vs CSV:機械可読性の技術问题

これ見てくださいよ。一个常见场景:政策里给了表格的“成果”在PDF里发布。工程上的问题:

  • PDF不保证结构化表格位置,字段名易变,版本控制困难
  • Excel有时是图片或合并单元格,直接读成CSV需要复杂清洗
  • API缺失导致每个利用者都要重复实现解析逻辑,成本高且容易出错

技术上可做的判断标准(工程验收建议):

  • Level 1(閲覧・転記可能):提供PDF但同时给出可下载CSV/Excel
  • Level 2(機械直接读取):提供规范化CSV/JSON并附带Schema(JSON Schema / CSV schema)
  • Level 3(API化):提供分页、过滤、认证的REST/GraphQL接口,并提供OpenAPI规范

API与数据治理:要怎么做?

  • 数据目录(Data Catalog)统一登记:采用CKAN或data.go.jp style的集中目录,metadata含license、更新频度、schema、sample
  • API-first设计:先定义OpenAPI,再生成Mock与SDK,保证前后端一致
  • 建立数据契约(schema registry):以JSON Schema/Avro为准,提供版本管理和兼容性策略
  • CI/QA:每次数据发布触发schema校验、完整性检查、时间戳与哈希签名

代码示例:把PDF/Excel转成可用CSV的一条工程流程

以下是一个简化的Python示例,展示从Excel读取、清洗并发布为JSON的步骤:

# requirements: pandas openpyxl requests

import pandas as pd

读取Excel(或CSV)

df = pd.read_excel('report.xlsx', sheet_name='実績')

简单清洗:扁平化合并单元格、填充缺失、字段重命名

df = df.ffill(axis=0)

df = df.rename(columns=lambda c: c.strip())

df['amount'] = pd.to_numeric(df['amount'], errors='coerce').fillna(0)

导出规范化CSV和JSON

df.to_csv('report_normalized.csv', index=False)

with open('report_schema.json','w') as f:

# 这里应该生成JSON Schema;示意性输出

f.write('{"type":"array","items":{"type":"object"}}')

可进一步推送到API或对象存储

requests.post('https://api.example.gov/data', json=df.to_dict(orient='records'))

要注意:这只是单机脚本。生产环境需要把这个流程放到CI,用容器化pipeline、带监控的ETL来运行,并对输出数据做契约测试。

政策目标 vs 実績のギャップ(定量的に見る)

  • 政策文件(2026年の機械可読性ルール)明确要把“檔案形式は機械が直接読み取れる Excel や CSV”等作为基准(参见Digital庁PDF),但在地方実装中,搜索和第三方事例(如自治体オープンデータの活用事例)显示:约半数的有价值表格仍以PDF为主,API稀缺。
  • 成本与运维:中央目标包括将自治体系统迁移到政府云以降低運營經費(Digital庁资料),但没有统一的数据契约与迁移验收标准会造成不同自治体间的互操作性差,长期总成本并不一定下降。

改善提案(エンジニア的に言うと)

  • 立法/ガイドライン:把“机器可读性”写进资金拨付与验收条件(不给CSV/JSON就不给经费或不通过验收),强绑定资源与结果
  • 技术栈:提供官方OpenAPI模板、JSON Schema样板、以及CKAN式数据目录托管辅导
  • 工具链:官方提供一套轻量ETL模板(Docker + GitHub Actions),带入数据契约测试、差异检测与自动发布
  • 人材培养:在自治体内设立数据工程岗位,或通过共同体支持多自治体共享工程团队

まとめ

方向没错,但要把“政策”变成“可复用的数据产品”,需要工程化的标准与工具链:API-first、schema registry、CI验收、以及财政与验收流程的绑定。PDF不能成为默认的最终态,CSV/JSON和API才是可持续的公共数据基础设施。

おかむーから一言

作为创业者和工程师,我相信技术能把政治和公共服务的效率推上一个台阶!从代码开始,推动可审计、可复用的政府数据体系,就是在为未来做基础设施。一起上吧~