Прошу помочь с циклами в 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)