데이터 변경 : json 데이터 pandas로 호출하기

hisungmi·2024년 8월 14일
0

KT Aivle

목록 보기
5/23
post-thumbnail

공공 데이터 포털

데이터 이용하기
JSON으로 불러오기
# 필요 라이브러리 로딩
import pandas as pd
import json    # json을 다루기 위한 라이브러리
import requests    # 서버 쪽에 request 보낼 때 사용하는 라이브러리
# open API 호출시 필요한 정보 입력
key = ' '    # 발급받은 키 입력
pageNo = 0    # 요청 변수: 페이지 번호 입력
row = 100    # 요청 변수: 한페이지 결과 수 입력

# full url 입력: '주소 + '?servicekey=키' + '&pageNo=페이지번호' + '&numOfRows=한페이지 출력 결과 수' + '&type=json'
url = f' '
response.encoding = 'utf-8'    # utf-8으로 설정

print(response.text[0:400])    # response 객체의 text 출력
# 2. 결과 객체에 있는 데이터(json) 조회
resulting_dict = json.loads(response.text)    # json을 dict 타입으로 바꾸는 함수
print(resulting_dict('header'))
resulting_dict.keys()    # dictionary 키 확인 -> 중첩 딕셔너리임

# 중첩 딕셔너리의 키 확인
resulting_dict['response'].keys()
resulting_dict['response']['body'].keys()

# resulting_dict['response']['body']['items']
# 첫번째 아이템 호출
resulting_dict['response']['body']['items'](0)

# 주소, 카메라 위치, 위도, 경도의 정보만 출력
address_list = []
location_list = []
latitude_list = []
longitude_list = []

# dictionary속 데이터 정보 입력
for tmp in resulting_dict['response']['body']['items']:
	address_list.append(tmp['rdnmadr'])
    location_list.append(tmp['itlpc'])
	latitude_list.append(tmp['latitude'])
	longitude_list.append(tmp['longitude'])

print(address_list[:10])
print(location_list[:10])
print(longitude_list[:10])
# dataframe으로 변환
df = pd.DataFrame({
	'address': address_list,
    'location': location_list,
    'latitude': latitude_list,
    'longitude': longitude_list,
})
display(df)
profile
난 성미다.

0개의 댓글