【发布时间】:2018-02-25 05:59:14
【问题描述】:
您好,我想解析一些 order_dicts。我有以下错误
ipdb> for elem in my_orderdict['codeBook'].keys():
print("{0} ===> {1}".format(elem, my_orderdict[elem ]))
*** KeyError: '@xmlns'
假设我创建了一个 Orderdict,稍后我想对其进行迭代以获取每个项目和值。
ipdb >>> from collections import *
ipdb >>> my_orderdict = \
OrderedDict([('codeBook',
OrderedDict([('@xmlns', 'http://www.johndoe.com'),
('@xmlns:xsi',
'http://www.w3.org/2001/XMLSchema-instance'),
('@version', '1.2.2'),
('@ID', '_71M0001XCB-F-1991-novembre'),
('@xml-lang', 'en'),
('@xsi:schemaLocation', 'http://www.johndoe.xsd'),
('stdyDscr',
OrderedDict([('stdyInfo',
OrderedDict([('subject',
OrderedDict([('keyword',
['Chômage',
'Emploi'])]))]))]))]))])
ipdb >>> type(my_orderdict)
<class 'collections.OrderedDict'>
ipdb >>> my_orderdict['codeBook'].keys()
odict_keys(['@xmlns', '@xmlns:xsi', '@version',
'@ID', '@xml-lang', '@xsi:schemaLocation', 'stdyDscr'])
我正在创建一个循环来访问每个 odict_keys 的值
for elem in my_orderdict['codeBook'].keys():
print("{0} ===> {1}".format(elem, my_orderdict[elem ]))
我想要的结果应该是
@xmlns ===> 'http://www.johndoe.com'
@xmlns:xsi ===> 'http://www.w3.org/2001/XMLSchema-instance'
@version ===> 1.2.2
...
这样我就可以解析这个 orderdict。现在我的错误是:
ipdb> for elem in my_orderdict['codeBook'].keys():
print("{0} ===> {1}".format(elem, my_orderdict[elem ]))
*** KeyError: '@xmlns'
所以我无法访问我的第一个 orderdict 的属性。
【问题讨论】:
标签: python python-3.x ordereddictionary