处理 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中文网其他相关文章!