개발 일지

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

그랴 2022. 4. 12. 23:17

국가 지하수 정보센터에서 데이터를 써야할 일이 생겨서 들어가보았더니, 국가 지하수 정보센터는 오픈 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 파일로 저장할 수 있답니다~~

 

끗~!