简体   繁体   中英

Extracting Data from OrderedDict

So i have a firebase database

Firebase数据库

and this is my code to get specific data

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

print(test)

then the result returns as an OrderedDict

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

i want to extract the data and have Ays = Baby and IDNumber = 222333123 as two separate variables. i tried using .items() and putting it into list but i can't seem to separate it. is there any other way?

There can be several items in the OrderedDict. It is always safe to iterate the list

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)

Output:

Ays Baby
IDNumber 222333123
Ays1 Baby1
IDNumber1 222333123

You can use .values() to extract key, value

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM