我有一个 JSON 文件,看起来像这样,只有一个元素:
[
{
"test1": [
{
"checked": [
"True"
],
"description": [
"asdasd"
],
"fileName": [
"GT-002"
],
"imgLoc": [
"/Images/GT-002.png"
],
"material": [
6
],
"quantity": [
1
]
}
]
}
]
我需要某种方法来对我的大型 JSON 文件进行排序fileName。现在它所做的一切都很奇怪和随机,对我来说没有任何作用。
test1并test具有相同数量的项目,但NON_BATCH例如有更多的项目,并且当它们分开时我找不到任何方法对它们进行正确排序。
我尝试过以下代码:
import json
Data_JSON = 'data.json'
BATCH_NAME = 'NON_BATCH'
with open(Data_JSON) as file:
Data_JSON_Contents = json.load(file)
sortedList = sorted(Data_JSON_Contents, key=lambda i: i[BATCH_NAME][0]['fileName'])
with open(Data_JSON, mode='w+', encoding='utf-8') as file:
json.dump(sortedList, file, ensure_ascii=True, indent=4, sort_keys=True)
如果有人知道任何工具或库或执行此操作的正确方法,我真的很感激,我已经尝试过natsort以下方法:
from natsort import natsort_keygen
natsort_key = natsort_keygen()
Data_JSON_Contents[0][BATCH_NAME][0].sort(key=natsort_key)
或者类似的东西,但对我来说没有任何作用。
森林海
相关分类