如何使用Python标准库将XML文件转换为指定格式的字典列表
用Python标准库解析XML为格式规范的字典列表
直接使用Python标准库xml.etree.ElementTree即可实现需求,无需依赖第三方库。以下是完整实现代码:
import xml.etree.ElementTree as ET def convert_value(value): # 处理布尔值转换 if value.lower() == 'true': return True elif value.lower() == 'false': return False # 处理整数转换 try: return int(value) except ValueError: pass # 处理浮点数转换 try: return float(value) except ValueError: pass # 其他情况保留字符串 return value # 加载并解析XML文件 tree = ET.parse('E:/Research work/My connect/Sam/CETM50 - 2022_3 - Assignment Data/user_data.xml') root = tree.getroot() # 生成目标字典列表 result = [] for user_element in root.findall('user'): user_dict = {} for key, value in user_element.attrib.items(): user_dict[key] = convert_value(value) result.append(user_dict) # 查看结果 print(result)
关键说明:
- 无@前缀问题:ElementTree解析XML元素属性时,直接通过
attrib返回无特殊前缀的键值对,天然符合需求 - 类型转换:
convert_value函数自动识别并转换数值型(int/float)、布尔型数据,其余保留字符串类型 - 普通字典列表:最终生成的是Python原生的
list和dict,而非OrderedDict,可直接按键访问值
内容的提问来源于stack exchange,提问作者princewill
相关产品推荐
相关产品推荐

