본문 바로가기

API

[한국은행 API] 인증키 신청 및 100대 통계 지표 수집

반응형

한국은행 API에 가입하고 서비스 항목 중 100대 통계지표에 대해 데이터 수집하고 그래프로 확인해보겠습니다.

 

1. 인증키 신청

2. 인증키 확인

3. 100대 통계 지표 수집

 

 

1. 인증키 신청

사이트 접속 합니다.

https://ecos.bok.or.kr/api/#/

 

한국은행 Open API 서비스

 

ecos.bok.or.kr

 

우측 위에 인증키 신청을 클릭합니다.

동의를 선택하고 다음 버튼을 클릭합니다.

 

필요한 정보를 입력하고 다음을 인증키 신청을 클릭합니다.

참고로 저는 필수항목만 입력했습니다.

 

인증키 신청이 완료되었습니다.

 

 

2. 인증키 확인

사이트에서 우측위에 로그인 버튼을 클릭합니다.

 

로그인을 진행합니다.

 

 

상단 메뉴에 MyPage를 클릭합니다.

 

아래에서 인증키 확인이 가능합니다.

 

 

 

반응형

 

 

3. 100대 통계지표 수집

서비스 이용 -> 서비스 목록을 클릭합니다.

 

100대 통계 지표를 클릭합니다.

 

 

화면 하단에 샘플 URL을 클릭하면 아래의 화면에 나오는 url로 호출이 가능합니다.

sample 부분을 본인의 인증키 데이터로 변경하면 됩니다.

 

 

그럼 불러와 볼까요

#apikey='YOUR_APIKey'

import requests

url = 'https://ecos.bok.or.kr/api/KeyStatisticList/' + apikey + '/xml/kr/1/100'
response = requests.get(url)
print(response.content.decode('utf-8'))

 

 

json형태로 불러와 보겠습니다.

#apikey='YOUR_APIKey'

import requests

url = 'https://ecos.bok.or.kr/api/KeyStatisticList/' + apikey + '/json/kr/1/100'
response = requests.get(url)
result=response.json()
print(result)

 

result ['KeyStatisticList']['row']에 실제 데이터들이 들어있는 부분입니다.

result['KeyStatisticList']['row']

 

데이터 부분만 DataFrame으로 변환하겠습니다.

import pandas as pd

df=pd.DataFrame(result['KeyStatisticList']['row'])
df=df.astype({'DATA_VALUE':'float'})
df

DataFrame으로 변환하니 보기가 한결 편해진 것 같습니다.

 

 

CLASS_NAME으로 데이터를 나누고 각각에 대해서 그래프로 확인해보겠습니다.

import plotly.express as px

classnames=df['CLASS_NAME'].unique()

for classname in classnames:
    df1=df.loc[df['CLASS_NAME']==classname]
    fig = px.bar(data_frame=df1, x='KEYSTAT_NAME', y='DATA_VALUE', 
    	color='KEYSTAT_NAME', text='DATA_VALUE')
    fig.show()

각 CLASS_NAME별 항목들에 대한 그래프가 되겠습니다.

 

아래에 더 많은 데이터들이 있지만 양이 많이 생략하겠습니다.

 

한국은행 API 가입하고 100대 통계지표에 대해 데이터 수집하고 그래프로 확인해봤습니다.

반응형