Как в openpyxl с помощью save сохранить в разные файлы при одной переменной openpyxl.load_workbook?

Есть однолистовой exel. В одной из колонок указаны подразделения, повторяющиеся. Хочу сделать из одного exel много, но в каждом отдельное подразделение. Не хочу применять много переменных wbX = openpyxl.load_workbook, потому что Х неизвестное количество. Проблема в том, что не пойму как обнулить wb2_s = wb2.active после записи, в следующий файл пишется что в предыдущем + новое.

import openpyxl

## файлы для работы
xl_f_from = 'users_all_exists.xlsx'
xl_f_to   = 'new/users_sort.xlsx'

## переменные
perv_stoka  = 2
posl_stroka = 605

## открываю книгу с подразделениями
wb1 = openpyxl.load_workbook(xl_f_from, data_only=True)
wb1_s = wb1.active

## создаю итоговую книгу
wb2 = openpyxl.Workbook()
wb2_s = wb2.active

## считать колонку подразделений в множество чтобы сравнивать при сборе информации
podrazd_exists = set()
for i in range(perv_stoka, posl_stroka+1):
    podrazd_exists.add(wb1_s['e'+str(i)].value)

# выбирая одно подразделение выбираю по нему все подразделения из колонки
for indexP, podr in enumerate(podrazd_exists, 1):
    wb2_s.append(["Логин","ФИО","Статус","Должность","Подразделение"])
    for i in range(perv_stoka, posl_stroka+1):
        if wb1_s['e'+str(i)].value == podr:
            wb2_s.append([wb1_s['a'+str(i)].value, wb1_s['b'+str(i)].value, wb1_s['c'+str(i)].value, wb1_s['d'+str(i)].value, wb1_s['e'+str(i)].value])
    wb2.save(xl_f_to.replace('.', str(indexP)+'.'))

Ответы (1 шт):

Автор решения: Максим Красовский

Оказалось, что нужно перед каждой записью просто инициализировать файл

# выбирая одно подразделение выбираю по нему все подразделения из колонки
for indexP, podr in enumerate(podrazd_exists, 1):
    ## создаю итоговую книгу
    wb2 = openpyxl.Workbook()
    wb2_s = wb2.active
    wb2_s.append(["Логин", "ФИО", "Статус", "Должность", "Подразделение"])
    for i in range(perv_stoka, posl_stroka+1):
        if wb1_s['e'+str(i)].value == podr:
            #print(wb1_s['e'+str(i)].value)
            wb2_s.append([wb1_s['a'+str(i)].value, wb1_s['b'+str(i)].value,
                          wb1_s['c'+str(i)].value, wb1_s['d'+str(i)].value,
                          wb1_s['e'+str(i)].value]
                         )
    wb2.save(xl_f_to.replace('users', str(indexP)).replace('sort', str(podr)))
    wb2 = openpyxl.Workbook()
    wb2_s = wb2.active
→ Ссылка