본문 바로가기
개발 일지

공공 데이터 포털 오픈 API 사용하기 : JSON, Python (JSON 데이터 CSV로 저장하기)

by 그랴 2022. 4. 12.

국가 지하수 정보센터에서 데이터를 써야할 일이 생겨서 들어가보았더니, 국가 지하수 정보센터는 오픈 API 서비스를 제공한다. 속성 정보에 대한 데이터를 외부에서 활용할 수 있도록 XML 또는 JSON 형태로 데이터를 제공해주는데, 요즘은 JSON을 많이 사용한다고들 하니 나는 JSON으로 받기로 했다.

먼저 인증키를 발급받아야 사용할 수 있는데, 오픈 API 신청 메뉴에 들어가서 신청할 서비스를 선택한 후 신청서 양식을 제출하면 된다. 근데 아무것도 입력 안하고 그냥 신청버튼 눌러도 발급 된다. 굿~

 

아무튼 나는 국가 지하수 측정자료 조회 서비스를 신청했는데, JSON 조회 페이지를 클릭해보면 다음과 같은 정보를 확인할 수 있다.

상세 주소에 자기가 받은 인증키 값을 작성하고, 요청 변수를 입력해주면 링크를 타고 바로 확인 할 수 있다. 나는 바보같이 필수 여부를 안 보고 gennum 하나만 입력하고 안된다고 찡찡거렸는데 여러분은 그런 바보짓 하지 마세요..

상세주소는 아래처럼 입력하면 됩니다. (변수값은 필요한대로 바꾸면 됨)

http://www.gims.go.kr/api/data/observationStationService/getGroundwaterMonitoringNetwork?KEY=인증키&type=JSON&gennum=65004&begindate=20210101&enddate=20220101

링크를 들어가보면 아래처럼 어마무시하게 나오는데, 얘를 python을 이용해서 csv 파일로 보기좋게 저장해봅시다.

import requests
import json
import csv
import pandas as pd

# 관측소번호, 시작날짜, 종료날짜 입력 필수
url = requests.get("인증키&요청변수 입력한 URL")
text = url.text

# JSON 데이터에 액세스
data = json.loads(text)
df = pd.json_normalize(data['response']['resultData'])

# csv 저장
df.to_csv("sample.csv")

이렇게 CSV 파일로 저장할 수 있답니다~~

 

끗~!