일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ML
- machinelearning
- textmining
- 데이터분석
- decisiontree
- ADsP3과목
- Kaggle
- 2023공빅데
- 2023공공빅데이터청년인재양성후기
- 머신러닝
- 공빅데
- 텍스트마이닝
- k-means
- 공공빅데이터청년인재양성
- 공빅
- 클러스터링
- 빅데이터
- DL
- Keras
- DeepLearning
- 분석변수처리
- SQL
- 오버샘플링
- NLP
- datascience
- 공공빅데이터청년인턴
- 데이터전처리
- data
- ADSP
- 2023공공빅데이터청년인재양성
- Today
- Total
愛林
[Python] Python에서 Open API 불러오는 법 본문
드디어 프로젝트를 진행하게 되었으나,
난생 처음 공공데이터 포털에서 OpenAPI 를 받아와서 쓰게 되었다.
자주 받아올 것 같으니 쓰는 포스팅.
이렇게 적어두는 것은 나중에 나에게
큰 도움이 될 것이다 ...
먼저, 공공데이터 포털에 접속해서,
내가 원하는 OpenAPI 를 활용신청한다.
아마 자동승인 될 것이다.
이후 내가 원하는 활용신청 상세기능 정보에 들어가서
미리보기로 내가 확인할 데이터 한 번 미리봐준 후에 ,
API 상세 페이지로 가서
내가 원하는 상세 데이터 정보를 조회한다.
이후 아래의 샘플코드를 받아와서,
Python 에 입력한다.
나는 jupyter 노트북을 사용했다.
서비스키 안에는
서비스 정보에 있는 일반 인증키 번호를 넣어주면 된다.
위의 내용을 붙여넣기 한 것이다.
데이터의 정보를 가리기 위해 반으로 갈랐다.
그럼 대충 이렇게 데이터의 결과가 뜨게 되는데,
예쁘게 정리해서 보기 위해서 pprint 를 사용해주었다.
from pprint import pprint
print(pprint(response.content))
사실 내 눈에는 똑같이 더럽다.
데이터프레임 가져와 ..
json 형태로 바꾸어주자.
import json
json_ob = json.loads(response.content)
print(json_ob)
print(type(json_ob)) #json타입 확인
# dict 타입
dict타입이라는 것을 확인했다.
데이터 내용을 확인했을 때, body 안에 내가 원하는 데이터 정보들이
담겨있었으므로, body만 빼내와준다.
# 필요한 내용만 꺼내기
body = json_ob['response']['body']['items']
print(body)
내가 원하는 내용만 남았다.
이제 데이터프레임으로 바꾸어주자.
from pandas.io.json import json_normalize
# Dataframe으로 만들기
dataframe = json_normalize(body)
print(dataframe)
그래 이런 걸 보고 예쁘게 정리됐다고 하는 것이다.
보기 편하다.
그치만 나는 더 보기 편하게 만들 것이다.
df 안에 데이터프레임 형태로 넣어주자.
df = pd.DataFrame(dataframe)
df.head()
너무 예쁘다.
이제 이걸 db형태와 csv형태 각각으로 저장해보자.
import sqlite3
con = sqlite3.connect("./gongsa.db")
df.to_sql('test', con, if_exists='append', index=False)
con.close()
990
990개의 데이터가 db파일로 저장되었다.
이제 이걸 DB에 옮겨서 확인하면 된다.
이건 따로 포스팅해야겠다.
df.to_csv(".csv", encoding = 'EUC-KR')
csv 파일로도 저장되었다.
'Data Science > Python' 카테고리의 다른 글
[Python] Jupyter Notebook PDF 변환 / Internal Server Error (2) | 2023.01.12 |
---|---|
[Python] 파이썬 다운그레이드 (Python downgrade), 버전 변경(Python change version), Error. Solving environment: failed with initial frozen solve. Retrying with flexible solve (2) | 2023.01.06 |
[Python/Data] 시각화 실습 / Seaborn 패키지 / matplotlib (2) | 2022.07.20 |
Python Pandas (0) | 2022.06.26 |
Python Numpy (3) | 2022.06.26 |