@MaxLoL0377

Как использовать итератор при переборе данных из Таблицы?

Всем привет! Появилась необходимость включить итератор в свой код, вот только столкнулся с проблемой. Для начала покажу код, потом постараюсь описать что я от него хочу
#Здесь я делаю итератор из файлов в директории
     exel_file = []
 for name in glob.glob('converted_dir/*.xlsx'):
     wb = load_workbook(name)
     list = wb['TDSheet']
     exel_file.append(list)
iter_exel_file = iter(exel_file)
#Функция, которая должна получать поочередно значения из файлов, как раз таки это я и хочу реализовать с помощью итератора
def model_name_fun():
   result = []
 for sheet in iter_exel_file:
    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
#Запрос по Google API, который в моем понимании должен передавать значение так же поочередно, а именно: получил значения из первого файла - передал, получил и так далее
values = service.spreadsheets().values().batchUpdate(
 spreadsheetId=spreadsheet_id,
 body={
     "valueInputOption": "USER_ENTERED",
     "data": [
         {"range": (name_position),
          "majorDimension": "COLUMNS",
          "values": [model_name_fun()]},]} ).execute()

Я понимаю что при итерации необходимо использовать next, но не могу понять где. Прошу вас помочь советом.

P.S. Вероятнее всего, model_name_fun() и запрос values должны быть заключены в одну функцию, а для них уже подставлять значения из итератора, но я так же не могу понять как это сделать(
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
shabelski89
@shabelski89
engineer
Что-то много наверчено, вот для примера:
import os

def get_iter_dir(dir):
    return os.listdir(dir)


for i in get_iter_dir(os.getcwd()):
    print(i)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mkone112
Начинающий питонист.
С отступами и вообще форматированием - полный ад, ничего не понятно и разбирать эту кашу мало кому захочется.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы