python-3.x - 将字典附加到嵌套字典 Python 3.6
问题描述
我有一个嵌套的 Python 字典,看起来像这样
master_config_skeleton = {
"ingestion_config":
{
"location":{},
"start_sequence":{},
"datafeed":
{
"t04047":
{
"validation":
{
"triple_check":{},
"record_count_validation":{}
},
"date_pattern":{},
"cdc_config": {}
}
}
}
}
我还有一个已转换为字典的数据框,如下所示。
[{'source': 'FLEXCAB', 'app': 'Replicator', 'feed_id': 2382, 'seq_type': 'SEQUENCE', 'hdfs_home_dir': '/data/b2b'}
]
我希望将此字典附加到嵌套的 Python 字典master_config_skeleton
中以将其转换如下:-
master_config_skeleton = {
"ingestion_config":
{
"source": "FLEXCAB",
"app": "Replicator",
"feed_id": "2382",
"seq_type": "SEQUENCE",
"hdfs_home_dir": "/data/b2b",
"location":{},
"start_sequence":{},
"datafeed":
{
"t04047":
{
"validation":
{
"triple_check":{},
"record_count_validation":{}
},
"date_pattern":{},
"cdc_config": {}
}
}
}
}
解决方案
从列表的第一个值和merge
一起创建字典:
L = [{'source': 'FLEXCAB', 'app': 'Replicator', 'feed_id': 2382,
'seq_type': 'SEQUENCE', 'hdfs_home_dir': '/data/b2b'}]
#https://stackoverflow.com/a/7205107
out = merge(master_config_skeleton, {'ingestion_config':L[0]})
print (out)
{
"ingestion_config": {
"location": {},
"start_sequence": {},
"datafeed": {
"t04047": {
"validation": {
"triple_check": {},
"record_count_validation": {}
},
"date_pattern": {},
"cdc_config": {}
}
},
"source": "FLEXCAB",
"app": "Replicator",
"feed_id": 2382,
"seq_type": "SEQUENCE",
"hdfs_home_dir": "/data/b2b"
}
}
推荐阅读
- php - mysql路由器与php的连接
- apache-camel - 如何在 apache 骆驼路由定义组件中获取标头值?
- java - 我想将 N 个值存储到一个数组中,这些值从 1 开始按顺序填充
- amazon-web-services - codedeploy 无法访问 s3
- php - 在 PHP 中规范化 DateInterval
- azure - 为 Azure Databricks 设置 Azure SQL 外部元存储 - 列名“IS_REWRITE_ENABLED”无效
- python - 如何在 SQL 表中返回值?
- html - 语法高亮的可访问 HTML 结构
- odoo - ODOO - 如何更新两个级别的 o2m 文件关系
- javascript - 为什么我无法将 CSS 加载到我的 Github 托管站点中?