pyparsing访问ParseResults时遇到问题

时间:2018-01-23 05:30:19

标签: python pyparsing

我有一个ParseResults对象,当我转储它时它看起来像这样:

[[['FM4', '230', '30', '680']]]   
[0]:   
     [['FM4', '230', '30', '680']]   
     [0]:   
       ['FM4', '230', '30', '680']   
       - FormNumber: 'FM4'   
       - BookNum: '680'   
       - PageNum: '230'   
       - BookmarkNum: '30'   

我似乎无法通过名称访问结果。

例如:results.FormNumber
或者,

for i in results:   
    print("i dict", dict(i))   

results in:   
        ('i dict', {})   

如果我打印:

print("i list", list(i))

我明白了:

('i list', [(['FM4', '230', '30', '680'], {'BookmarkNum': ['30'], 'BookNum': 
['680'], FormNumber: ['FM4'], 'PageNum': ['230']})])

如何按名称访问字典对象? 提前致谢

1 个答案:

答案 0 :(得分:1)

在进一步审查我的语法后,我意识到我正在使用一个组,这导致创建一个列表而不是字典。

删除群组后,这:     ('我列出',[(['FM4','230','30','680'],{'BookmarkNum':['30'],'BookNum': ['680'],FormNumber:['FM4'],'PageNum':['230']})])

成为:('我列出',[(['FM4','230','30','680'],{'BookmarkNum':'30','BookNum': '680',FormNumber:'FM4','PageNum':'230'})])

然后,我能够按名称使用字典

由于