Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from openpyxl import load_workbook, Workbook
- from bcompiler.utils import project_data_from_master
- #from openpyxl.utils import column_index_from_string
- import datetime
- #from openpyxl.styles import Color, PatternFill, Font, Border
- import difflib
- from docx import Document
- from docx.shared import Cm, Inches, Pt
- def get_project_names(data):
- project_name_list = []
- for x in data:
- project_name_list.append(x)
- return project_name_list
- def compare_dicts(name, dict_1, dict_2):
- c_dict = {}
- comp = difflib.Differ()
- if name in dict_1.keys():
- c_dict[name] = {}
- project_data = dict_1[name]
- project_data_old = dict_2[name]
- key_list = []
- p_list = []
- p_list_old = []
- for x in project_data:
- key_list.append(x)
- for x in project_data.values():
- p_list.append(x)
- for x in project_data_old.values():
- p_list_old.append(x)
- for i in range(0, len(p_list)):
- a = p_list[i]
- b = p_list_old[i]
- key = key_list[i]
- try:
- diff = list(comp.compare(a.split(), b.split()))
- c_dict[name][key] = diff
- except AttributeError:
- c_dict[name][key] = 'data - not checked'
- return c_dict
- def print_dict(name, dict_1):
- doc.add_paragraph()
- y = doc.add_paragraph()
- y.add_run(name)
- a = dict_1[name]
- for x in a:
- b = a[x]
- c = []
- q = doc.add_paragraph()
- q.add_run(x)
- y = doc.add_paragraph()
- for i in b:
- #print(b)
- y.add_run(i)
- #if '+' in i:
- #z = i.upper()
- #c.append(z)
- #elif '-' in i:
- #z = i.upper()
- #c.append(z)
- #else:
- #c.append(i)
- #''.join(word for word in c)
- #for i in range(0, len(b)):
- #y = doc.add_paragraph()
- #y.add_run(c)
- doc.add_page_break()
- return doc
- def running(names, data_one, data_two):
- for x in names:
- a = compare_dicts(x, data_one, data_two)
- b = print_dict(x, a)
- return b
- doc = Document()
- one = project_data_from_master('C:\\Users\\Standalone\\Will\\dft-government-major-project-portfolio-data-september-2017.xlsx')
- two = project_data_from_master('C:\\Users\\Standalone\\Will\\dft-government-major-project-portfolio-data-september-2017_old.xlsx')
- #project_names = get_project_names(one)
- project_names = ['Crossrail Programme']
- #test = compare_dicts(project_names, data_one, data_two)
- #print_out = print_dict(project_names, test)
- out = running(project_names, one, two)
- out.save('C:\\Users\\Standalone\\Will\\next_comparing.docx')
Add Comment
Please, Sign In to add comment