我对python很陌生,请像对待我一样。当我尝试将XML内容转换为“词典列表”时,我得到了输出,但没有达到预期的效果,并且尝试了很多。
XML内容:
<project> <panelists> <panelist panelist_login="pradeep"> <login/> <firstname/> <lastname/> <gender/> <age>0</age> </panelist> <panelist panelist_login="kumar"> <login>kumar</login> <firstname>kumar</firstname> <lastname>Pradeep</lastname> <gender/> <age>24</age> </panelist> </panelists> </project>
我使用的代码:
import xml.etree.ElementTree as ET tree = ET.parse(xml_file.xml) # import xml from root = tree.getroot() Panelist_list = [] for item in root.findall('./panelists/panelist'): # find all projects node Panelist = {} # dictionary to store content of each projects panelist_login = {} panelist_login = item.attrib Panelist_list.append(panelist_login) for child in item: Panelist[child.tag] = child.text Panelist_list.append(Panelist) print(Panelist_list)
输出:
[{ 'panelist_login': 'pradeep' }, { 'login': None, 'firstname': None, 'lastname': None, 'gender': None, 'age': '0' }, { 'panelist_login': 'kumar' }, { 'login': 'kumar', 'firstname': 'kumar', 'lastname': 'Pradeep', 'gender': None, 'age': '24' }]
而且我希望获得下面的输出
[{ 'panelist_login': 'pradeep', 'login': None, 'firstname': None, 'lastname': None, 'gender': None, 'age': '0' }, { 'panelist_login': 'kumar' 'login': 'kumar', 'firstname': 'kumar', 'lastname': 'Pradeep', 'gender': None, 'age': '24' }]
我在xml树上引用了很多堆栈溢出问题,但仍然没有帮助我。
感谢您的任何帮助/建议。
我对python很陌生,请像对待我一样。当我尝试将XML内容转换为字典列表时,我得到了输出,但没有达到预期的效果,并且尝试了很多。 XML ...
您的代码将带有标签属性的字典panelist_login
附加到列表中,在此行:Panelist_list.append(panelist_login)
单独地