python - 如何从 JSON 数组中读取数据
问题描述
我想从 JSON 数组中读取数据并将它们放入变量中。对我有用的唯一方法是将}, {
with}
和[
and替换]
为什么都没有,并且像普通的 json 文件一样读取它。我怎样才能做到这一点?这是 Json 文件
{
"Area": "Hyper-V Cluster",
"time_start": "2020-03-07T00:00:00",
"time_end": "2020-03-07T23:59:59",
"Systeme": [
{
"name": "test-s-hc001",
"CPU [%]": 20.86,
"Disk [%]": 4.32
},
{
"name": "test-s-hc002",
"CPU [%]": 21.23,
"Disk [%]": 49.42
},
{
"name": "test-s-hc003",
"CPU [%]": 19.8,
"Disk [%]": 7.47
},
{
"name": "test-s-hc004",
"CPU [%]": 20.01,
"Disk [%]": 49.49
},
{
"name": "test-s-hc005",
"CPU [%]": 21.1,
"Disk [%]": 48.41
},
{
"name": "test-s-hc006",
"CPU [%]": 21.01,
"Disk [%]": 53.71
},
{
"name": "test-s-hc007",
"CPU [%]": 3.75,
"Disk [%]": 62.72
},
{
"name": "test-s-hc009",
"CPU [%]": 4.11,
"Disk [%]": 59.66
}
]
}
我实际尝试但不起作用的代码如下所示:
import json
input_file = open ('test.json')
json_array = json.load(input_file)
windows_list = []
for item in json_array:
windows_details = {"name":None, "Cpu [%]":None, "Disk [%]":None}
windows_details['name'] = item['name']
windows_details['CPU [%]'] = item['CPU [%]']
windows_details['Disk[%]'] = item['Disk']
windows_list.append(windows_details)
print(windows_list)
输出应如下所示
test-s-hc001
20.86
4.32
test-s-hc002
...
解决方案
你在 json 结构中json_array
被调用Systeme
,而不是顶部元素。
所以你应该使用它:
import json
input_file = open ('test.json')
json_array = json.load(input_file)
windows_list = []
for item in json_array['Systeme']:
windows_details = {"name":None, "CPU [%]":None, "Disk [%]":None}
windows_details['name'] = item['name']
windows_details['CPU [%]'] = item['CPU [%]']
windows_details['Disk [%]'] = item['Disk [%]']
windows_list.append(windows_details)
print(windows_list)
推荐阅读
- python - 使用插值查找 2D 峰值的 x 和 y 全宽半最大值
- f# - F# 使用通用参数调用 .Net 函数 - 不会编译
- architecture - 如何将 HTML/CSS/JS 存储在数据库中,或者基本上为每个用户构建独特的页面?
- jenkins-pipeline - 使用 Jenkins 对项目列表(可能在文件中)执行相同的工作流
- python - Google 使用 python 抓取 - 请求:如何避免因请求过多而被阻止?
- web-services - 资源文件在tomcat webservice操作后不显示更改
- javascript - 获取特定参数为空的数组中的第一项
- asp.net - microsoft 3rd 方身份验证 live.com 而不是 microsoftonline.com
- reactjs - “ReactJs”重置状态但不重置唯一 ID
- python - 处理 ValueError 的便捷方法:无法从重复轴重新索引