Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # xml2json.py
- #
- # export json files from XML data
- # downloaded from ajax responses from website
- from xmljson import parker, Parker
- from xml.etree.ElementTree import fromstring
- from json import dumps
- with open('ee.xml', 'r') as file:
- ee_xml = file.read().replace('\n', '')
- with open('p1.xml', 'r') as file:
- p1_xml = file.read().replace('\n', '')
- ee_json_string = dumps(
- parker.data(fromstring(ee_xml), preserve_root=True), ensure_ascii=False)
- p1_json_string = dumps(
- parker.data(fromstring(p1_xml), preserve_root=True), ensure_ascii=False)
- file = open('ee.json', 'w')
- file.write(ee_json_string)
- file.close()
- file = open('p1.json', 'w')
- file.write(p1_json_string)
- file.close()
- print(ee_json_string)
- # --------------------------------------------------------------------------------------------------
- # load_json.py
- #
- # this script takes files which are generated by
- # xml2json.py script
- import json
- import operator
- with open('ee.json') as json_file:
- ee_data = json.load(json_file)
- with open('p1.json') as json_file:
- p1_data = json.load(json_file)
- # EE structure
- ee_cells = [item for item in ee_data['rows']['row']]
- ee_cell = [cell['cell'] for cell in ee_cells]
- ee_candidates = [cand for cand in ee_cell]
- ee_data = {key[1]: ee_candidates[n] for n, key in enumerate(ee_candidates)}
- # generate P1 structure
- p1_cells = [item for item in p1_data['rows']['row']]
- p1_cell = [cell['cell'] for cell in p1_cells]
- p1_candidates = [cand for cand in p1_cell]
- p1_data = {key[1]: p1_candidates[n] for n, key in enumerate(p1_candidates)}
- mixed_dict = {
- # key[1]: ee_data[n] #.append(p1_data[key[1]])
- # for n, key in enumerate(ee_data)
- **ee_data,
- **p1_data
- }
- rank_list = {}
- for student, i in enumerate(ee_data):
- sum = ee_data[i][-1] + p1_data[i][-2]["b"]
- print("#{} | {:5} + {:5} = {:4.2f} | {:20} {:20}".format(
- ee_data[i][1], ee_data[i][-1], p1_data[i][-2]["b"], sum, ee_data[i][3],
- ee_data[i][2]))
- rank_list[ee_data[i][1]] = sum
- sorted_d = sorted(rank_list.items(), key=operator.itemgetter(1))
- for i, (k, v) in enumerate(sorted_d):
- print(len(sorted_d) - i, k, v)
- print("\n\n")
- print(ee_data[1077])
- print(p1_data[1077])
- print(mixed_dict[1077])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement