从OrderedDict提取数据

时间:2019-02-05 06:54:28

标签: python python-3.x raspberry-pi3 ordereddict pyrebase

所以我有一个Firebase数据库

firebase database

这是我获取特定数据的代码

db = firebase.database()
test = db.child("Users").order_by_child("IDNumber").equal_to(222333123).get().val()

print(test)

然后结果返回为OrderedDict

  

OrderedDict([('Ays',{'Ays':'Baby','IDNumber':222333123})))

我想提取数据并将Ays = Baby和IDNumber = 222333123作为两个单独的变量。我尝试使用.items()并将其放入列表,但我似乎无法将其分开。还有其他办法吗?

2 个答案:

答案 0 :(得分:2)

OrderedDict中可以有多个项目。迭代列表始终是安全的

from collections import OrderedDict
od = OrderedDict([('Ays', {'Ays': 'Baby', 'IDNumber': 222333123}), ('Ays1', {
    'Ays1': 'Baby1', 'IDNumber1': 222333123})])

for val in od.values():
    for k, v in val.items():
        print(k, v)

输出:

Ays Baby
IDNumber 222333123
Ays1 Baby1
IDNumber1 222333123

答案 1 :(得分:1)

您可以使用.values()提取键,值

>>> d = OrderedDict([('Ays', {'Ays': 'Baby', 'IDNumber': 222333123})])
>>> list(d.values())
[{'Ays': 'Baby', 'IDNumber': 222333123}]