Code-based Manifest: Reading Japan’s Public CSVs and Where the Tech Fits

どうも〜おかむーです! Today I'm diving into public datasets from Japanese government sites and talking shop about how these files actually behave in the wild — CSVs, dashboards, and the gaps between policy promises and machine-readable reality.
- Three-line summary
- There's partial progress: dashboards and e-Stat exist, yet APIs and consistent schemas are still patchy
- Practical fixes: standardize encodings, publish OpenAPI/JSON-LD, provide data packages and example ETL code
結論
Government bodies are moving in the right direction by exposing data (CSV lists, dashboards like e-Stat, and project KPIs), but エンジニア的に言うと the lack of consistent schemas, APIs, and metadata makes real reuse tough. 要するに — make data discoverable, machine-readable, and documented, and the civic impact multiplies.
Report
What I looked at
I inspected CSV endpoints and dashboards linked from public domains: notice.go.jp/status_notice.csv, env.go.jp CSVs, mhlw.gov CSVs, jinji.go.jp, and portals like e-Stat and Digital Agency's Japan Dashboard. These are legit sources — thanks for publishing — but the developer experience varies.
Practical issues observed
- Encoding and format friction: many gov CSVs in Japan use CP932/Shift_JIS or unspecified encodings. That trips up simple wget + pandas workflows.
- Schema drift and missing metadata: files often lack column definitions, units, or timestamps. Hard to join across datasets.
- No unified API: dashboards present visualizations but don't always expose the underlying data via REST/GraphQL endpoints.
- KPI publication gap: programs like the Digital Garden City grants mention KPIs (see Digital Agency guidance) but accessible, verifiable time-series CSVs tying policy targets to outcomes are sparse.
Code notes (practical snippet)
If you want to start reusing these CSVs, here's a minimal Python pattern to fetch and normalize considering common pitfalls:
import pandas as pd
import requests
url = 'https://notice.go.jp/docs/status_notice.csv'
r = requests.get(url)
many gov CSVs are cp932/shift_jis
df = pd.read_csv(pd.compat.StringIO(r.content.decode('cp932')), sep=',')
quick column normalize
df.columns = [c.strip().lower().replace(' ', '_') for c in df.columns]
print(df.head())
エンジニア的に言うと, wrap this into an ETL that validates schema (goodtables, pandera), stores canonical JSON-LD, and exposes a tiny open API.
Concrete improvements
- Publish machine-readable schema: JSON Schema or Table Schema alongside CSVs
- Use UTF-8 by default and declare encoding in HTTP headers
- Provide REST endpoints and OpenAPI docs for dashboards (so graphs are reproducible)
- Release time-series KPI datasets for grants and programs with clear unit fields and update cadence
- Offer sample notebooks and CLI tools (prefab pandas loaders) to lower the friction for journalists and civic tech devs
まとめ
Public data is available more than before — that's great! But the plumbing needs work: standardize encoding, schema, and APIs so that CSVs become reliable building blocks for analysis. With modest engineering effort (schema + API + docs) reuse and trust will increase a lot.
おかむーから一言
データを出すのは始まりです。出し方をアップデートすれば、行政サービスの改善スピードは格段に上がりますよ!
Sources
- 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/001682075.csv
- https://www.kantei.go.jp/
- https://dashboard.e-stat.go.jp/
- https://www.kantei.go.jp/jp/naikaku/index.html
- https://www.digital.go.jp/resources/japandashboard
- https://www.kantei.go.jp/jp/news/index.html
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://www.chisou.go.jp/sousei/pdf/r5_guideline-checkaction.pdf
- https://www.digital.go.jp/
- https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf
- https://e-words.jp/w/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB.html
Share
Related Reports

Code-driven Manifesto: Auditing Local Gov Data and Systems (Kagawa case study)
Local gov systems run but hide data behind UIs; expose CSV/JSON, APIs, and common schemas to unlock value.

Code-driven Check: Japan’s Open Data and the Machine-Readable Gap
Digital Japan has dashboards and rules, but PDFs and messy formats still block automated policy verification; mandate CSV/JSON, APIs, and dataset linting.

Code Speaks: Testing Japan's Gov Data and Dashboards
Japan has great dashboards but inconsistent machine-readability. This report inspects e-Stat, Japan Dashboard, Kantei PDFs, and proposes API-first fixes and practical code examples.