Прошу помочь с циклами в Python

Всем привет! У меня есть код, который в моем понимании должен забирать файлы из директории, а далее есть функции, которые обрабатывают все файлы поочередно. Ниже начало кода и пример одной из функций

for name in glob.glob('converted_dir/*.xlsx'):
wb = load_workbook(name)
sheet = wb['TDSheet']

# Model_name
def model_name_fun():
    result = []
    for i in range(19, 70):
        model_name = sheet.cell(row=i, column=2).value
        if model_name is not None:
            result.append(model_name)
    return result

Но, обрабатывается лишь последний добавленный файл из директории. Понимаю, что нужно прописать цикл, но не пойму что и как. Помогите, пожалуйста.


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

Автор решения: Alexey Leshchenko
# Model_name
def model_name_fun(sheet):
    result = []
    for i in range(19, 70):
        model_name = sheet.cell(row=i, column=2).value
        if model_name is not None:
            result.append(model_name)
    return result

model_names = []

for name in glob.glob('converted_dir/*.xlsx'):
    wb = load_workbook(name)
    sheet = wb['TDSheet']
    model_names.append(model_name_fun(sheet))

Если в model_names нужен плоский список, то вместо append в конце вызываете extend.

→ Ссылка
Автор решения: eri
sheets=dict() 
for name in glob.glob('converted_dir/*.xlsx'):
    wb = load_workbook(name)
    sheets[name] = wb['TDSheet'] 

Потом в вызове, который я не вижу

def model_name_fun(sheet):
   .... 

for sheet in sheets.values():
    result = model_name_fun(sheet)
→ Ссылка