XML 데이터를 처리할 때 그 안에 있는 정보를 처리하고 분석해야 하는 경우가 많습니다. Pandas는 XML을 구조화된 DataFrame으로 변환할 수 있는 편리한 도구를 제공합니다.
주어진 것과 같은 XML 구조를 고려해 보겠습니다.
<author type="XXX" language="EN" gender="xx" feature="xx" web="foobar.com"> <documents count="N"> <document KEY="e95a9a6c790ecb95e46cf15bee517651">![CDATA[A large text with lots of strings and punctuations symbols [...] ]]></document> <!-- more documents --> </documents> </author>
목표는 이 XML을 변환하는 것입니다. 키, 유형, 언어, 기능, 웹 및 데이터에 대한 열이 있는 DataFrame으로 변환합니다.
효율적인 접근 방식 ElementTree
이를 달성하기 위해 XML을 구문 분석하는 효율적인 방법을 제공하는 Python의 xml.etree.ElementTree를 활용할 수 있습니다. 개선된 접근 방식은 다음과 같습니다.
import pandas as pd import xml.etree.ElementTree as ET xml_data = "file_path" etree = ET.parse(xml_data) #create an ElementTree object def iter_docs(author): author_attr = author.attrib for doc in author.iter('document'): doc_dict = author_attr.copy() doc_dict.update(doc.attrib) doc_dict['data'] = doc.text yield doc_dict doc_df = pd.DataFrame(list(iter_docs(etree.getroot())))
이 접근 방식에서는 iter_docs 생성기 기능을 사용하여 작성자 및 문서 요소를 반복하여 관련 속성과 데이터를 추출합니다. 그런 다음 생성된 사전 목록에서 DataFrame을 생성합니다.
추가 참고 사항:
ElementTree 사용의 이점:
이 접근 방식을 따르면 Pandas DataFrames를 사용하여 복잡한 XML 데이터를 표 형식으로 효율적으로 변환하여 추가 데이터를 활성화할 수 있습니다. 조작하고 분석합니다.
위 내용은 Python에서 XML 데이터를 Pandas DataFrame으로 효율적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!