如何自动填充键名一致的JSON模板?
JSON模板自动填充实现方法
当然可以实现自动填充,根据你的场景(模板与数据源键名完全一致),有几种简洁的实现方式:
方式一:使用字典update方法(最简洁)
如果模板的每个项和数据源的项键完全匹配,直接用update方法批量覆盖/填充键值对:
for i in range(len(self.dict_trie_csv_infos)): # 用数据源当前项的所有键值对更新模板项 self.template_json[i].update(self.dict_trie_csv_infos[i])
这个方法会自动把数据源里的所有键值对同步到模板对应项中,替代手动逐个赋值。
方式二:遍历键逐个赋值(更灵活)
如果需要控制只同步模板中已存在的键(避免新增模板没有的键),可以遍历数据源的键进行判断赋值:
for i in range(len(self.dict_trie_csv_infos)): data_item = self.dict_trie_csv_infos[i] template_item = self.template_json[i] for key in data_item: if key in template_item: template_item[key] = data_item[key]
补充:如果模板是单个实例需要生成多个项
如果你的self.template_json初始不是列表,而是单个模板字典,需要根据数据源生成多个填充后的项,可以这样做:
# 假设self.base_template是你的单个JSON模板字典 self.template_json = [] for data_item in self.dict_trie_csv_infos: # 复制模板结构(避免所有项引用同一个字典) new_item = self.base_template.copy() new_item.update(data_item) self.template_json.append(new_item)
内容的提问来源于stack exchange,提问作者guiguilecodeur
相关产品推荐
相关产品推荐

