Advertisement
Guest User

Untitled

a guest
Jan 21st, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.35 KB | None | 0 0
  1. import json
  2. from pprint import pprint
  3.  
  4. with open('rank.json') as f:
  5.     data = json.load(f)
  6.  
  7. kek =  (sorted(data, key=lambda d: d["gpa"], reverse=True))
  8.  
  9. total = 0
  10. moy = 0.0
  11.  
  12. obj = {
  13.     "rank Adrien" : 0,
  14.     "rank Hugo" : 0,
  15.     "box" :
  16.         {'BDX' : {
  17.             "Moyen":0.0,
  18.             "Total":0
  19.             },
  20.         'LIL' : {
  21.             "Moyen":0.0,
  22.             "Total":0
  23.             },
  24.         'LYN' : {
  25.             "Moyen":0.0,
  26.             "Total":0
  27.             },
  28.         'MAR' : {
  29.             "Moyen":0.0,
  30.             "Total":0
  31.             },
  32.         'MPL' : {
  33.             "Moyen":0.0,
  34.             "Total":0
  35.             },
  36.         'NCY' : {
  37.             "Moyen":0.0,
  38.             "Total":0
  39.             },
  40.         'NAN' : {
  41.             "Moyen":0.0,
  42.             "Total":0
  43.             },
  44.         'NCE' : {
  45.             "Moyen":0.0,
  46.             "Total":0
  47.             },
  48.         'PAR' : {
  49.             "Moyen":0.0,
  50.             "Total":0
  51.             },
  52.         'REN' : {
  53.             "Moyen":0.0,
  54.             "Total":0
  55.             },
  56.         'STG' : {
  57.             "Moyen":0.0,
  58.             "Total":0
  59.             },
  60.         'TLS' : {
  61.             "Moyen":0.0,
  62.             "Total":0
  63.             }
  64.         }
  65. }
  66.  
  67. i = 0
  68. idi = 0
  69. old = 0
  70. sub = []
  71. for fild in kek:
  72.     if (fild["gpa"] != "n/a"):
  73.         idi += 1
  74.         fild["id"] = idi
  75.         if (fild["gpa"] != old):
  76.             i += 1
  77.             old = fild["gpa"]
  78.         fild["rank"] = i
  79.         fild["gpa"] = float(fild["gpa"])
  80.         if (fild["name"] == "Adrien Zemma"):
  81.             obj["rank Adrien"] = fild["rank"]
  82.         if (fild["name"] == "Hugo Martin"):
  83.             obj["rank Hugo"] = fild["rank"]
  84.         obj["box"][fild["city"]]["Moyen"] += float(fild["gpa"])
  85.         obj["box"][fild["city"]]["Total"] += 1
  86.  
  87. for _, v in obj["box"].items():
  88.     try:
  89.         v["Moyen"] /= v["Total"]
  90.         v["Moyen"] = round(v["Moyen"], 2)
  91.     except:
  92.         pass
  93.  
  94. pprint(obj)
  95. print("total rank: ", i)
  96. print("total eleve: ", len(kek))
  97.  
  98. pew = open("rankSorted.txt","w")
  99. for fild in kek:
  100.     if (fild["gpa"] != 'n/a'):
  101.         line = str(str(fild["rank"]) + ". " + fild["city"] + " " + fild["email"] + ": " + str(fild["gpa"]) + " gpa" + "\n")
  102.         pew.writelines(line)
  103.  
  104. pew = open("salut.json","w")
  105. pew.write(str(json.dumps(kek, indent=3)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement