如何提取JSON中指定服务器的日程并转换为目标格式列表?
如何提取服务器日程并转换为指定列表格式?
你需要从指定服务器的日程字典中分别提取日期名称和对应时间列表,当前代码的问题是直接把整个日程字典加入了列表,所以得到的是包含字典的列表,而非目标格式。以下是调整后的实现方法:
基础实现代码
import json with open("systemfile.json", "r") as f: data = json.load(f) # 定位到目标服务器的日程字典 target_schedule = data["server-2"]["schedule"] # 分别提取日期和时间列表 schedule_days = list(target_schedule.keys()) schedule_times = list(target_schedule.values()) # 验证输出 print(schedule_days) # 结果: ["Monday", "Wednesday"] print(schedule_times) # 结果: [["10:00"], ["13:00", "14:00"]]
更简洁的写法
可以将提取步骤合并为一行,让代码更紧凑:
import json with open("systemfile.json", "r") as f: data = json.load(f) target_schedule = data["server-2"]["schedule"] schedule_days, schedule_times = list(target_schedule.keys()), list(target_schedule.values())
注意事项
- Python 3.7及以上版本的字典会保留键的插入顺序,因此提取的日期顺序会和JSON文件中的一致;如果使用更早版本,需要使用
collections.OrderedDict来保证顺序。 - 如果需要处理多个服务器,可以封装成函数,传入服务器名称参数即可复用逻辑。
内容的提问来源于stack exchange,提问作者Eliahs Johansson
相关产品推荐
相关产品推荐

