我有一个 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']})])
如何通过名称访问字典对象? 提前致谢
最佳答案
进一步检查我的语法后,我意识到我正在使用一个组,这导致创建一个列表而不是字典。
删除组后,如下: ('我列出', [(['FM4', '230', '30', '680'], {'BookmarkNum': ['30'], 'BookNum': ['680'],表单编号:['FM4'],'页码':['230']})])
变成这样:('i list', [(['FM4', '230', '30', '680'], {'BookmarkNum': '30', 'BookNum': '680',表单编号:'FM4','页码':'230'})])
然后我就可以按名称使用字典了
谢谢
关于python - pyparsing 访问 ParseResults 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48394820/