删除python中复杂json文件中的重复数据
我有一个复杂的json文件,其中包含嵌套的DIC。 看起来像这样删除python中复杂json文件中的重复数据,python,arrays,json,Python,Arrays,Json,我有一个复杂的json文件,其中包含嵌套的DIC。 看起来像这样 { "objectivelist": [{ "measureid": "1122", "gradeID": "4222332", "graduationdate": "May", "system": { "platform": "MAC", "TeacherName": "Mike", "
{
"objectivelist": [{
"measureid": "1122",
"gradeID": "4222332",
"graduationdate": "May",
"system": {
"platform": "MAC",
"TeacherName": "Mike",
"manager": "Jim",
"studentinfomation": {
"ZIP": "94122",
"city": "SF"
}
},
"measureid": "1122",
"gradeID": "4222332",
"graduationdate": "May",
"system": {
"platform": "MAC",
"TeacherName": "joshe",
"manager": "steven"
},
"studentinfomation": {
"ZIP": "94122",
"city": "SF"
}
}]
}
这里的等级ID和测量ID是一样的,所以结果应该只需要显示一次,我的结果应该是这样的:
{"measureid":"1122","gradeID"4222332","graduationdate":"May"}
我不需要经理姓名、教师姓名等
不知道怎么做。我试着使用理解法,但不知道在nest字典中该由谁来使用
谢谢大家。根据json文件的大小,您可能需要更好的解决方案。我们将散列感兴趣的字段,并以迭代方式构建唯一的json
check_set = set()
output = []
interesting_fields = ['measureid', 'gradeID', 'graduationdate']
for dat in X['objectivelist']:
m = hashlib.md5()
m.update(dat['measureid'].encode('utf-8'))
m.update(dat['gradeID'].encode('utf-8'))
m.update(dat['graduationdate'].encode('utf-8'))
digest = m.hexdigest()
if digest not in check_set:
output.append({key: dat[key] for key in ['measureid', 'gradeID', 'graduationdate']})
check_set.add(digest)
您可以在
output
中找到您的输出,您的json有很多糟糕的语法。你能修复JSON吗?至少JSON中的树错误,抱歉,伙计们,现在可以了吗?