import json import pandas as pandas from definitions import CONTACT_LIST_FILE from pojo.contact_pojo import ContactPojo class ExcelHelper: def __init__(self): self._df = pandas.Series() def write_to_exel(self, file_name, data_list: list): new_df = pandas.Series(data_list) self._df = pandas.concat([self._df, new_df]) self._df.to_excel(file_name) def read_contacts(self, file_name=CONTACT_LIST_FILE) -> list: contact_list_in_json = pandas.read_excel(file_name).to_json(orient='records') contact_dict_list = json.loads(contact_list_in_json) contact_list = [] for contact_dict in contact_dict_list: if contact_dict['name']: raw_name = contact_dict['name'].strip() name = raw_name.split(' ') last_name = name[0] if len(name) == 2: first_name = name[-1] else: first_name = ''.join(name[1:len(name)]) contact = ContactPojo(phone_number=contact_dict['phone'], last_name=last_name, first_name=first_name, passport_number=contact_dict['passport'], mail=contact_dict['email']) contact_list.append(contact) return contact_list