【发布时间】:2020-11-26 19:23:39
【问题描述】:
Sort list of nested dictionaries by value上的答案 不适用于更多嵌套数据,例如
[
{
"primary_key": 228282,
"success": "YES",
"date": "2020-10-09T10:10:33.123456",
"spec": "text text text",
"details": {
"quality": "228.33",
"measure": {
"title": "kilo",
"sign": "kg"
}
},
"address_from": "NY",
"address_to": "CA",
},
...
]
如果我想按“日期”排序,则会出现错误:
[item for item in lis if isinstance(item['date'], str)],
KeyError: 'date'
这种情况下如何按日期排序?
https://www.dropbox.com/s/2wc44gv9puwjd8t/228.json?dl=0 我有 .json 文件。我的尝试:
import json
with open("operations.json", "r", encoding='utf-8') as read_file:
lis = json.load(read_file)
print(lis)
print(
sorted(
[item for item in lis if isinstance(item['date'], str)],
key=lambda i: i['date']
)
)
【问题讨论】:
-
这对我来说运行良好。您能否发布完整代码并仔细检查列表中的每个字典是否有一个名为“日期”的键?
-
您的代码有效。请edit该问题添加可重现的示例。
-
@Norrius:完成。
标签: python json dictionary nested