반응형
공공데이터포털에서 데이터 가져와서 포맷 변경하는 방법
API를 가져오는 방법은 여러가지다.
하지만 API 데이터의 형식은 제공하는
측에서 결정한다.
데이터를 파싱하고,
분석하기 위해서 XML형식보다는
JSON형식을 많이 선호하기 때문에,
만약 API 데이터가 XML로 제공
된다면, JSON으로 변경해야 하는일이
생긴다.
python에는 JSON 형식 변경 툴을
제공한다. 크게 두가지 모듈을
제공하고 있고, 각 모듈 별 특징이
있기 때문에, 상황에 맞게 사용하면
된다.
1. xmltodict
json.dumps() 형태로 데이터를 가져오게 되며,
XML을 빠르게 JSON형식으로 변경시켜 준다.
<example>
import requests
import xmltodict, json
obj_json = xmltodict.parse("""
<response>
<header>
<resultCode>00</resultCode>
<resultMsg>NORMAL SERVICE.</resultMsg>
</header>
<body>
<items/>
<numOfRows>10</numOfRows>
<pageNo>1</pageNo>
<totalCount>0</totalCount>
</body>
</response>
""")
print(json.dumps(obj_json))
2. untangle
XML을 JSON으로 변경시켜주는 두번째
모듈이다. untangle은 JSON으로 변경한
데이터의 세부 트리를 따라가서 직접
데이터를 가져오는데 사용된다.
<example>
import requests
import untangle
obj_untangle = untangle.parse("""
<response>
<header>
<resultCode>00</resultCode>
<resultMsg>NORMAL SERVICE.</resultMsg>
</header>
<body>
<items/>
<numOfRows>티스토리 블로그</numOfRows>
<pageNo>1</pageNo>
<totalCount>0</totalCount>
</body>
</response>
""")
print(obj_untangle.response.body.numOfRows.cdata)
반응형
'Programming' 카테고리의 다른 글
JVM Java Virtual Machine 메모리 구조 (0) | 2021.10.21 |
---|---|
Heroku app 변경하는 방법 (0) | 2021.10.19 |
Python could not be resolved Pylance from source 모듈 인식 안될때 해결방법 (1) | 2021.10.14 |
Ubuntu postgresql pgadmin4 cli 설치 및 데이터베이스 생성 확인 (0) | 2021.10.13 |
Django QuerySet manager objects Filter, All , Value (0) | 2021.10.12 |
Django Heroku Database Migrate Error (0) | 2021.10.08 |
댓글