Извлечение данных из OrderedDict - PullRequest
0 голосов
/ 05 февраля 2019

Итак, у меня есть база данных 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})])

iхотите извлечь данные и иметь Ays = Baby и IDNumber = 222333123 в качестве двух отдельных переменных.Я попытался использовать .items () и положить его в список, но я не могу отделить его.есть ли другой способ?

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

В 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
0 голосов
/ 05 февраля 2019

Вы можете использовать .values() для извлечения ключа, значение

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