Python +머신러닝
[Python] - 공공 API 데이터 호출하고 엑셀파일로 만들기
dev_SiWoo
2020. 8. 27. 16:09
공공 API 활용하기¶
- 활용신청한 API : https://www.data.go.kr/iim/api/selectAPIAcountView.do
- 2020년 3월~8월 10일 코로나 환자 데이터
- 필요한 라이브러리 import
In [5]:
# import library
import requests, xmltodict, json
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
- URL 작성 및 요청
In [7]:
url = 'http://openapi.data.go.kr/openapi/service/rest/Covid19/getCovid19SidoInfStateJson?serviceKey=YNeaX1XgA%2BRIzGp1lEkTr00tgeUPCaTqxgrpRVXFj8CmfK0w6u6sSLLuHkgk4qR2MjJc6CKYScJVbKgOU6PdbQ%3D%3D&pageNo=1&numOfRows=10&startCreateDt=20200110&endCreateDt=20200810&'
res = requests.get(url)
- 파싱 및 변수명 재설정
In [11]:
dict_res = xmltodict.parse(res.content)
json_string = json.dumps(dict_res['response']['body']['items'], ensure_ascii=False)
jsonObj = json.loads(json_string)
df = pd.DataFrame(jsonObj['item'])
df.columns = ['등록일시분초', '사망자수','확진자수','시도명','시도명(중국)','시도명(영어)','전일대비증감수','격리해제수','격리중인환자수',
'지역발생수','해외유입수','10만명당발생률','게시글번호','기준일시','수정일시분초']
df
Out[11]:
- 엑셀파일(csv)로 내보내기
In [10]:
df.to_csv('코로나 공공데이터.csv', index= False)