Извлечение данных из OrderedDict
Так что у меня есть база данных Firebase
и это мой код, чтобы получить конкретные данные
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 ответа
Решение
В 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
Ты можешь использовать .values()
извлечь ключ, значение
>>> d = OrderedDict([('Ays', {'Ays': 'Baby', 'IDNumber': 222333123})])
>>> list(d.values())
[{'Ays': 'Baby', 'IDNumber': 222333123}]