您的位置:首页 > 编程语言 > Python开发

python读取json文件根据电影ip求电影名的评分总和并按评分排序

2019-09-11 17:57 471 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/YYNNNCSDN/article/details/100743990
import json

with open("E:/rating.json","r") as f:
score = {}
for line in f:
dic = json.loads(line)    #读取json文件所有内容
if dic["movie"] not in score:                     #按索引取键值
score[dic["movie"]] = int(dic["rate"])            #如果电影ip不在字典内,则加入
else:
score[dic["movie"]] += int(dic["rate"])           #如果电影ip已在字典内,则将评分相加
score1 = dict(sorted(score.items(), key=lambda d:d[1],reverse = True))       #按评分(键值)降序排序
#score.items() #可迭代元素。
#key= lambda d:d[0]#d[0]表示按键,d[1]表示按值。
#reverse#默认是False,升序排列。当值为True时是降序排列。
for key,value in score1.items():
with open('E:/js.json', 'a') as json_file:
json_file.write("movie"+":"+key+","+"ratesum"+":"+str(value)+"\n")

运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: