코드로 말하는 매니페스토: 일본 지방정부 오픈데이터 기술분석

안녕하세요~ 오카무(おかむー)입니다! 오늘은 지방정부가 내놓는 데이터와 시스템을 엔지니어링 관점에서 까발려보는 글이에요~
- 주요 도시·지방자치단체는 CSV 형태의 오픈데이터를 공개하고 있지만 형식과 메타데이터가 제각각이다
- PDF에 묻혀 있는 표가 여전히 많다: 기계가 읽기 어렵다, 자동화 파이프라인 만들기 힘들다
- API 제공, 표준 메타데이터(DCAT 등), UTF-8·CORS 지원 등의 기술적 개선으로 정책 검증과 재현 가능성이 크게 올라간다
結論
지방정부의 데이터 공개는 시작은 잘 되어 있지만, 엔지니어 관점에서 보면 "자동화 가능한 데이터 파이프라인"을 만들기에는 아직 갈 길이 멀다. CSV 공개는 긍정적이지만 인코딩·스키마·버전 관리·API 제공이 부족하면 재현성·검증성이 떨어진다. 기술적으로 가능한 개선을 단계별로 제안한다!
레포트
何を見たか(데이터 소스 예시)
- 도쿄도 오픈데이터 카탈로그(https://catalog.data.metro.tokyo.lg.jp/dataset)에서는 방재 관련 인식조사 데이터가 CSV·XLSX로 공개됨
- 니가타시 오픈데이터 가이드/CSV 매뉴얼(https://www.city.niigata.lg.jp/.../csv_manual_v1.1.pdf)은 CSV 작성 지침을 제공(그러나 PDF 문서임)
- 사이타마현 데이터 카탈로그(https://opendata.pref.saitama.lg.jp/datasets)에는 1,300건 이상의 데이터셋 목록
- 하코다테시는 CSV 공개 목록과 CC-BY 표기(https://www.harp.lg.jp/opendata/dataset/79.html)
- 국가기관의 CSV 엔드포인트 예시들(총무성·환경성·후생노동성 등)도 검색 결과에서 확인
요약하면: 많은 데이터가 CSV로 공개되어 있고, 지방자치단체마다 포맷 가이드가 존재하지만 통일성이 떨어짐.
기술적 문제점 (에ンジニア적 관점)
코드 예시 — CSV 자동 수집 및 기본 검증 (Python/pandas)
import pandas as pd
url = 'https://example.city.gov/dataset/survey.csv'
인코딩 자동 감지 후 로드
df = pd.read_csv(url, encoding='utf-8')
print(df.columns)
print(df.isnull().sum())
날짜 파싱
if 'survey_date' in df.columns:
df['survey_date'] = pd.to_datetime(df['survey_date'], errors='coerce')
요점: 자동 파이프라인은 인코딩·날짜 파싱·누락값 처리를 사전에 정의해야 실패를 줄일 수 있음.
PDF→CSV 파이프라인 제안
- 표가 PDF에 묻혀 있으면 tabula-py 또는 Camelot으로 추출 후 스키마 검증
- 추출한 CSV는 자동화 테스트(컬럼 존재, 데이터 타입, 허용값 범위)를 통과해야 공개 리포지토리에 머지
정책 검증: 목표 vs 실적 비교 방법
- 예: 방재 인식 개선 목표(예: 주민 응답률 60%)가 있으면 연도별 CSV 조사결과를 불러와 연령·지역별 집계로 비교
- 공간 분석: 조사결과를 GIS(예: GeoJSON)와 결합해 취약지역과의 상관관계 분석
- 재현 가능성: 공개된 CSV로 같은 통계치(평균·신뢰구간)를 자동으로 계산해 원 보고서 값과 비교
개선 제안 (단계별)
- 모든 CSV는 UTF-8, BOM 없음, 쉼표 구분, 유니코드 정규화
- DCAT-AP-JP 스타일의 메타데이터(컬럼 설명, 단위, 更新日, 라이선스)
- CKAN이나 API 게이트웨이를 이용해 RESTful API 제공 (필터·페이지네이션·CORS)
- OpenAPI 명세 제공으로 개발자 온보딩 단축
- CI로 데이터 품질 체크(스키마, null 비율, 값 범위)
- 추출→변환→검증→배포(ETVQ) 워크플로우 도입
- 데이터에 버전 태그와 영구 링크 제공
- 과거 데이터에 접근 가능한 아카이브 제공
활용 사례 제안
- 재난대응 시뮬레이션: 주민 인식 데이터 + 피난소 위치 데이터 + 지형 정보를 합쳐 우선순위 설정
- 시민 참여 대시보드: 최신 CSV를 정기적으로 가져와 시각화, 정책 효과를 시민에게 투명하게 공개
まとめ
지방정부는 이미 오픈데이터를 꽤 공개하고 있어서 시작은 좋은 편이에요! 하지만 엔지니어 관점에서는 표준화·API화·자동검증이 빠르게 도입되어야 실질적인 재현성·검증 가능성이 확보됩니다. PDF에 묻힌 표를 자동으로 CSV로 바꾸고, 메타데이터와 API로 연결하면 정책의 신뢰도가 크게 올라가요.要するに、"機械が信頼して使えるデータ"が必要ということです!
おかむーから一言
테크로 사회를 바꾸자! 데이터와 코드로 정책을 재현 가능하게 만들면 시민의 신뢰도와 행정의 효율이 동시에 올라갑니다. 내가 직접 만들 수 있는 수준으로 공개하라고요, 그게 바로 매니페스토입니다!
정보 출처
- 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
- https://lifeap.co.jp/column/2026/03/18/understanding-public-facilities-definition-types-examples-usage-and-management/
- https://www.intec.co.jp/column/smartcity-08.html
- https://ja.wikipedia.org/wiki/%E5%85%AC%E5%85%B1
- https://www.stat.go.jp/dstart/case/
- https://kotobank.jp/word/%E5%85%AC%E5%85%B1-494676
- 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
- https://www.soumu.go.jp/main_content/000323625.csv
공유하기
관련 리포트

コードで語るマニフェスト:自治体データとシステムをエンジニア視点で検証する
自治体データはPDFやUIに閉じがち。API-firstとJSON Schemaで再利用性を高め、ガバメントクラウドへ移行する実務ロードマップを提示します。

コードで語るマニフェスト:日本政府データの現場から見る技術検証
政府データは可視化が進むも機械可読性不足が課題。CSV/JSON/API、スキーマ、ID統一で政策検証を自動化しよう。

코드로 읽는 마니페스토: 일본 정부 데이터와 시스템을 엔지니어 관점에서 후벼파기
일본 정부 데이터의 PDF·API·메타데이터 문제를 엔지니어 관점에서 분석하고, 실무 가능한 개선안을 코드 예시와 함께 제시합니다。