Всем привет! Вот код моей функции:
def wrap_up_in_file(window,file_input):
wbf = Workbook()
ws = wbf.active
try:
list_items = get_list_data_panda(file_input)
articul = ''
for i,item in enumerate(list_items):
count_item = 0
window['out'].Update(value=f'{i}/{len(list_items)}')
for j,item_j in enumerate(list_items):
if item['idnp'] == item_j['idnp'] and item['brand'] == item_j['brand'] and item['price'] == item_j['price']: # проверка если найденные записи совпадают
count_item += 1 # счетчик кол-во записей
if count_item != 0:
if articul != item['idnp']: # Эта проверка нужна чтоб не было дубликатов в файле
ws.append([item['idnp'],item['title'],item['brand'],count_item,item['price']])
articul = item['idnp']
window['out'].Update(value='Файл сохраняется. Ждите')
wbf.save(filename=f"{file_input}-result.xlsx")
window['out'].Update(value='Загрузка завершена')
except Exception as e:
window['out'].Update(value='Произошла ошибка, смотрите логи')
with open('log.info','a') as file_log:
file_log.write(f'Error with file: {e.args}')
Разрабатываю графический интерфейс. Функция принимает окно граф.интерфейса и путь к файлу.
В list_items возвращается список строк, которые становятся объектами из этого файла.
Пример данных из файла
Эта функция должна искать похожие записи, считать их кол-во и записывать в файл одну строку с кол-во этих записей. То есть из 10 записей сделать одну.