코드로 읽는 매니페스토: 지방정부 데이터와 시스템을 기술적으로 검증해봤다

IT 정책 제안
코드로 읽는 매니페스토: 지방정부 데이터와 시스템을 기술적으로 검증해봤다

안녕하세요~ 오카무입니다! 오늘은 정부·지방자치단체의 데이터와 시스템을 '코드' 관점에서 뜯어보는 글이에요. 정책 문서나 보도자료만 보는 게 아니라, 실제로 공개된 파일(특히 PDF!)을 긁어보고, API가 있는지 찾아보고, 데이터 포맷을 검증하는 그런 실무형 레포트입니다.

  • 이 글 3줄 요약
- 지방정부의 디지털 정책은 활발하지만, 실무 데이터는 PDF 중심이라 재활용성이 낮음

- 표준화·가버먼트 클라우드 전환은 좋은 방향이나, 기계판독 가능 포맷과 API 설계가 핵심

- 코드(예: PDF→CSV 추출, API 설계 예시)로 바로 시도해볼 수 있는 개선안 제시

결론

정책 목표(디지털田園都市構想, 지방시스템 표준화 등)는 명확하지만, 현장 데이터는 여전히 기계비가독(주로 PDF)에 묶여 있어 투명성·재현성·재활용성이 떨어집니다. 엔지니어적 관점에서 해법은 단순합니다: 기계판독 가능한 포맷(CSV/JSON), 명세화된 API(OpenAPI), 메타데이터(DCAT/JSON-LD)와 지속적 데이터 파이프라인(CI)을 도입하면 정책의 검증 가능성과 가치가 크게 올라갑니다.

레포트 본문

1) 데이터 현황 진단 — 사례 중심

이 글은 공개 자료와 정부 사이트를 중심으로 검사했어요. 참고한 곳:

  • デジタル庁 (https://www.digital.go.jp/) — 정책 총괄
  • 総務省 자치체 시스템 표준화 자료 (https://www.soumu.go.jp/) — 표준화 로드맵
  • 地方創生(디지털田園都市国家構想交付金) 설명(https://www.chisou.go.jp/)
  • 山口県의 교부금 활용 실적 PDF(https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf)
  • 地方競馬 정보 사이트 예시(https://www.keiba.go.jp/) — 포털/서비스 예

이들 자료를 보면 정책·교부금·실적은 공개돼 있지만, 실적 수치·KPI는 PDF(또는 HTML로 렌더된 표)로 배포되는 경우가 많아요. 예를 들어 산요쿠치(山口県) 문서에는 "実績額:15,289千円" 같은 숫자 표기가 PDF에 고정되어 있죠. 이건 사람은 읽을 수 있어도 자동화된 검증이나 시계열 분석에는 부적합합니다.

要するに: 정책은 있으나 데이터 포맷이 발목을 잡습니다.

2) PDF vs CSV(또는 JSON) — 왜 문제가 되는지, 엔지니어적 설명

에ンジニア적(엔지니어적으로) 말하면, PDF는 최종 렌더된 '픽셀/문서'라서 구조정보(테이블 스키마, 컬럼 타입, 단위 등)가 없어요. 자동화 파이프라인에서 이걸 쓰려면 다음 단계가 필요합니다:

  • PDF 파싱(오류 발생 가능)
  • 테이블 구조 추론(컬럼 병합/분리 오류)
  • 단위·주석 해석(예: 千円 단위 표기)

결과적으로 데이터 신뢰도 저하, 재현 불가능한 ETL, 감사 추적 불가 같은 문제가 생깁니다.

3) API와 데이터 포맷: 현재 상태와 바람직한 설계

현황: 일부 통계(예: e-Stat)는 API 제공하지만, 많은 지방교부금·사업실적은 PDF/보고서 형태에 묶여 있어요.

권장 설계:

  • OpenAPI로 행정 API 명세 공개
  • 메타데이터는 DCAT/JSON-LD로 카탈로그화
  • 데이터 카탈로그(예: CKAN, Datasette)로 엔드포인트·라이센스·업데이트 주기 명시
  • 시간축 데이터는 CSV/Parquet/NDJSON로 제공

要するに: API 한줄이면 개발자가 바로 붙여서 검증·시각화·서비스로 만들 수 있습니다.

4) 코드 예시: PDF에서 CSV로, 그리고 간단한 API 호출

이거 보세요, 실전에서 자주 쓰는 패턴이에요. (Python, 간단한 예)

# PDF 다운로드 + tabula로 테이블 추출 -> CSV

import requests

import tabula

import pandas as pd

url = 'https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf'

open('report.pdf', 'wb').write(requests.get(url).content)

dfs = tabula.read_pdf('report.pdf', pages='all', multiple_tables=True)

단순 병합 예시

df = pd.concat(dfs, ignore_index=True)

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

그리고 e-Stat 같은 공개 API에 붙을 땐 OpenAPI 스펙대로 요청하면 됩니다(아래는 플레이스홀더):

curl 'https://api.e-stat.go.jp/rest/3.0/app/json/getStatsData?appId=YOUR_KEY&statCode=000002'

이런 방식으로 자동화하면, 연도별 KPI 비교·크로스체크·시각화까지 파이프라인으로 만들 수 있어요.

5) 정책 목표와 실적의 '갭' 분석

예: デジタル田園都市国家構想交付金은 디지털 구현을 지원한다고 명시돼 있는데(지자체 사업 공모·교부금 형태), 실제 실적은 PDF 내 KPI로만 보고되는 경우가 많습니다. KPI가 문장·표로만 있으면 외부에서 "정말 그 효과가 있었나"를 코드로 증명하기 어렵죠.

따라서 정책팀은 다음을 제안해야 합니다:

  • 교부금 집행 내역을 표준 스키마(사업ID, 지자체ID, 금액(JPY), 지출일자, KPI 지표값)로 공개
  • 실적 데이터의 스냅샷(매월/분기) 및 변경 로그(버전)를 제공

6) 오픈데이터 활용 가능성 및 서비스 아이디어

  • 교부금·실적 데이터를 합치면 지역별 디지털 투자지도(인터랙티브 맵)를 만들 수 있어요
  • 사업단위 KPI를 구조화하면 성과 기반 재분배 정책(성과연동 보조금)도 검증 가능
  • 민간은 이 데이터를 이용해 지역별 DX(디지털 전환) 수요·시장 분석 리포트를 만들 수 있습니다

7) 실무적 개선 제안(우선순위)

  • 모든 교부금·실적표를 CSV/JSON로 병행 공개(당장 가능한 개선)
  • OpenAPI 및 데이터 카탈로그(DCAT) 도입
  • 파이프라인 CI(데이터 스키마 검증, 데이터 품질 테스트) 도입
  • 메타데이터/데이터 딕셔너리 공개(단위·정의·산출방법 명시)
  • 예제 코드·샌드박스 데이터 제공(개발자 경험 개선)
  • 이 조합이면 정책의 투명성·검증 가능성·민간 혁신 촉진이라는 세 마리 토끼를 잡을 수 있어요!

    정리

    • 정책은 충분히 준비되어 있으나 데이터 배포 방식이 걸림돌
    • PDF 중심 공개를 CSV/JSON+API로 바꾸면 감사·분석·재사용의 비용이 급감
    • 기술적으로는 OpenAPI, DCAT, CI 기반 데이터 파이프라인을 권장

    오카무에서 한마디

    두 번 창업하고 프론트엔드부터 백엔드까지 손댄 사람으로서 한마디 하자면: 정책도 결국 '인터페이스' 문제예요. 사람이 읽는 문서만 남기지 말고, 기계도 읽을 수 있는 인터페이스(API)를 먼저 설계하세요! 테크로 사회를 업그레이드합시다~

    공유하기