Python3如何基于IF条件从现有JSON文件生成新JSON文件
Python3 实现JSON字段扩展方案
直接上可直接运行的完整代码:
import json # 班次对应时间规则,后续调整时间直接修改该配置即可 SHIFT_RULE = { "NIGHT": { "shiftHourStart": "22:00:00", "shiftHourEnd": "06:00:00" }, "DAYS": { "shiftHourStart": "06:00:00", "shiftHourEnd": "15:00:00" } } # 读取原始JSON文件,把input.json替换为你本地的文件路径 with open("input.json", "r", encoding="utf-8") as f: raw_data = json.load(f) # 遍历处理每一条记录 for item in raw_data: current_shift = item.get("shift", "") if current_shift in SHIFT_RULE: # 给当前条目追加班次时间字段 item.update(SHIFT_RULE[current_shift]) # 如果需要把原始的DAYS修改为DAY,取消下面这行注释即可 # item["shift"] = "DAY" if current_shift == "DAYS" else current_shift # 输出到新的JSON文件,indent参数控制缩进空格数,匹配你示例的6格缩进 with open("output.json", "w", encoding="utf-8") as f: json.dump(raw_data, f, ensure_ascii=False, indent=6)
补充说明
- 代码默认保留原始所有字段,如果你需要删除不需要的字段,可在循环中添加
del item["不需要的字段名"]实现 - 你给出的预期示例中shift字段值和原始值不匹配,如有修改shift字段的需求,取消代码中对应注释行即可
- indent参数可以自行调整,要改成常用的4格缩进直接把参数值改成4即可
内容的提问来源于stack exchange,提问作者user16514127
相关产品推荐
相关产品推荐

