處理 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 的高效方法
為了實現這一點,我們可以利用 Python 的 xml .etree.ElementTree,它提供了一種解析 XML 的有效方法。這是一種改進的方法:
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中文網其他相關文章!