Stack Overflow на русском Asked on November 15, 2021
Файл 1:
{
"name": "John",
"education": {
"school": true
"university": false
},
}
Файл 2:
{
"name": "John",
"age": 30,
"isKid": false,
}
Хочу получить результат, который покажет отличия по ключу. Например:
Файл1 не содержит ключи, присутсвующий в файле2: .age, .isKid
Файл2 не содержит ключи, присутсвующий в файле1: .education, .education.school, .education.university
Как это можно реализовать на пайтоне? Или может есть какие нибудь готовые инструменты(jq например?)?
Загрузить yaml в словарь и сделать пару операций с набором ключей через set
import yaml
a = yaml.load('''{
"name": "John",
"education": {
"school": true,
"university": false
},
}''')
b = yaml.load('''{
"name": "John",
"age": 30,
"isKid": false,
}''')
allkeys = set(a.keys()) | set(b.keys())
auniqkeys = set(a.keys()) - set(b.keys())
buniqkeys = set(b.keys()) - set(a.keys())
Вложенные ключи надо проверять рекурсивно
Answered by eri on November 15, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP