我有多个不同字段的嵌套xml。谁能建议一个概括的脚本或教程做上述任务我正在尝试使用Python脚本将嵌套的XML转换为XML框架。我看到一些使用API调用的解决方案,但无法获得这些选项来分解XML。
qni6mghb1#
将嵌套的XML文件转换为pandas DataFrame需要解析XML,然后以适合DataFrame的方式构造数据。您可以使用lxml库解析XML,然后根据解析后的数据构建pandas DataFrame。
import pandas as pd from lxml import etree def xml_to_dict(xml_string): root = etree.fromstring(xml_string) data = {} for child in root: data[child.tag] = [] for subchild in child: subdata = {} for subsubchild in subchild: subdata[subsubchild.tag] = subsubchild.text data[child.tag].append(subdata) return data def xml_to_dataframe(xml_string): data_dict = xml_to_dict(xml_string) frames = {} for key, values in data_dict.items(): frames[key] = pd.DataFrame(values) return frames # Sample XML string with nested elements xml_string = """ <root> <users> <user> <name>John</name> <age>28</age> </user> <user> <name>Jane</name> <age>25</age> </user> </users> <products> <product> <name>Apple</name> <price>1.5</price> </product> <product> <name>Banana</name> <price>1.2</price> </product> </products> </root> """ frames = xml_to_dataframe(xml_string) # Print the DataFrame for users print(frames['users']) # Print the DataFrame for products print(frames['products'])
这段代码将接受给定的XML并生成两个DataFrame,一个用于用户,一个用于产品。如果xml_to_dict函数与本例不同,则可以调整它以匹配XML的特定结构。
1条答案
按热度按时间qni6mghb1#
将嵌套的XML文件转换为pandas DataFrame需要解析XML,然后以适合DataFrame的方式构造数据。
您可以使用lxml库解析XML,然后根据解析后的数据构建pandas DataFrame。
这段代码将接受给定的XML并生成两个DataFrame,一个用于用户,一个用于产品。如果xml_to_dict函数与本例不同,则可以调整它以匹配XML的特定结构。