본문 바로가기

Computer Science/Python

[Python] 파이썬 XML을 사전(dict/json)으로 변환하는 방법 (xmltodict)

반응형

Makes working with XML feel like you are working with JSON

이전에 작성 했던 파이썬에서 XML 데이터 읽기의 글이 요즘들어 조회수가 높게 나오는 편인데

기존의 ElementTree보다 dict로 변환하여 처리하는 쉬워 글을 작성.

 

혹시 element로 처리 할 생각이라면 이 글을 참고!

https://yeslab.tistory.com/77

 

[Python] 파이썬 XML 데이터 읽기

2019-07-18 초본작성 빅데이터 관련 업무를 하다보면 TSV(Tab Separated Value), XML(Extensible Markup Language), JSON(JavaScript Object Notation) 이 3가지의 형태의 데이터를 자주 접하게 된다. TSV나 JSON..

yeslab.tistory.com

 

 

 

파이썬에서는 뭐니뭐니해도 dict 형식으로 처리하는게 제일 편하다.

그래서 나는 주로 xmltodict라는 패키지를 활용해 xml을 dict로 변환해서 사용한다.

 

패키지 설치:

pip install xmltodict

 

테스트 코드:

import xmltodict
import json

xml_data = """
<mydocument has="an attribute">
    <and>
        <many>elements</many>
        <many>more elements</many>
    </and>
        <plus a="complex">
            element as well
        </plus>
</mydocument>
"""

result = xmltodict.parse(xml_data)
print(json.dumps(result, indent=4))

 

테스트 결과:

{
    "mydocument": {
        "@has": "an attribute",
        "and": {
            "many": [
                "elements",
                "more elements"
            ]
        },
        "plus": {
            "@a": "complex",
            "#text": "element as well"
        }
    }
}

 

드디어 이제 기존의 익숙한 dict 형식으로 편하게 사용하자!

 

xmltodict의 공식 깃헙을 참고했습니다.

xmltodict GitHub

https://github.com/martinblech/xmltodict

 

GitHub - martinblech/xmltodict: Python module that makes working with XML feel like you are working with JSON

Python module that makes working with XML feel like you are working with JSON - GitHub - martinblech/xmltodict: Python module that makes working with XML feel like you are working with JSON

github.com

반응형