XML을 pandas.DataFrame으로 만들기

2252 단어 pandas파이썬XML
데이터 분석 과정에서 API를 이용하는 경우가 많다고 생각합니다.

API의 결과가 XML로 되돌아올 때, 취급에 조금 쌓여 시간이 걸렸으므로 방법을 메모해 둡니다.

입력



예로서, 이런 느낌의 XML 같은 데이터가 있었다고 합니다.
# 例
response = """
<INFO>
    <RESULT>
        <STATUS>0</STATUS>
        <ERROR_MSG>SUCCESS</ERROR_MSG>
        <DATE>2019/09/29T06:21:15+9:00</DATE>
    </RESULT>
    <PARAMETER>
        <lang>ja</lang>
        <code>01</code>
    </PARAMETER>
</INFO>
"""

code



다음 코드로 pd.DataFrame으로 변환할 수 있습니다.
# parse xml
from lxml import etree
root = etree.fromstring(response)

# convert xml to dict
import xmljson
data_dict = xmljson.yahoo.data(root)

# convert dict to pd.DataFrame
import pandas as pd
pd.io.json.json_normalize(data_dict)

output



결과는 이런 느낌이 듭니다.


pd.io.json.json_normalize() 의 인수 등은 원래의 XML의 중첩 상태에 따라 조정할 필요가 있습니다.

좋은 웹페이지 즐겨찾기