【发布时间】:2021-06-04 22:11:19
【问题描述】:
我有两个问题,正在寻找解决方法的线索。
我有一个格式如下的 json 文件:
{
"code": 2000,
"data": {
"1": {
"attribute1": 40,
"attribute2": 1.4,
"attribute3": 5.2,
"attribute4": 124
"attribute5": "65.53%"
},
"94": {
"attribute1": 10,
"attribute2": 4.4,
"attribute3": 2.2,
"attribute4": 12
"attribute5": "45.53%"
},
"96": {
"attribute1": 17,
"attribute2": 9.64,
"attribute3": 5.2,
"attribute4": 62
"attribute5": "51.53%"
}
},
"message": "SUCCESS"
}
我的目标是:
- 我首先想按任何个属性对数据进行排序。
- 大约有 100 个,我想抢前 5 个(取决于它们的排序方式),然后...
- 在表格中输出数据,例如:
These are sorted by: attribute5
---
attribute1 | attribute2 | attribute3 | attribute4 | attribute5
40 |1.4 |5.2|124|65.53%
17 |9.64|5.2|62 |51.53%
10 |4.4 |2.2|12 |45.53%
*同样,上面的attribute5是一个字符串值
诚然,我在这里的知识非常有限。 我试图模仿这里使用的方法: python sort list of json by value
我设法打开该文件,我可以从示例行中提取键值:
import json
jsonfile = path-to-my-file.json
with open(jsonfile) as j:
data=json.load(j)
k = data["data"]["1"].keys()
print(k)
total=data["data"]
for row in total:
v = data["data"][str(row)].values()
print(v)
这个输出:
dict_keys(['attribute1', 'attribute2', 'attribute3', 'attribute4', 'attribute5'])
dict_values([1, 40, 1.4, 5.2, 124, '65.53%'])
dict_values([94, 10, 4.4, 2.2, 12, '45.53%'])
dict_values([96, 17, 9.64, 5.2, 62, '51.53%'])
我们将不胜感激。
谢谢!
【问题讨论】:
标签: json python-3.x