Задать вопрос
mohovoy
@mohovoy
Что-то там программирую, кто бы знал что именно?

Почему не пишутся данные в другой лист Excel?

Пишу парсер сайта. Хочу сохранить данные в формате Excel по категориям на каждый отдельный лист. Все хорошо, только почему-то сохраняется только данный с одной категории в один лист, а другие данные вообще не сохраняются.
Код
def collect_data():
    row = 0
    active_sheet = 1
    wb = openpyxl.Workbook()
    for page in PAGES:
        print(f"[INFO] Работа с разделом [{page}]")
        wb.create_sheet(page)
        wb.active = active_sheet
        sheet = wb.active
        sheet.cell(row=1, column=1, value="Артикул")
        sheet.cell(row=1, column=2, value="Ссылка на товар")
        for filenames in os.listdir(f"hardware/{page}"):
            with open(f"hardware/{page}/{filenames}", encoding="utf-8") as file:
                print(f"[INFO] Собираем данные с файла {filenames}")
                content = file.read()

                soup = BS(content, "lxml")
                products = soup.find_all("li", class_ = "result__item")

                for product in products:
                    row += 1
                    product_name = product.find("span", class_ = "result__name").text
                    product_link = product.find("a", class_ = "result__link").get("href")

                    cell_name = sheet.cell(row=row+1, column=1)
                    cell_name.value = product_name
                    cell_link = sheet.cell(row=row+1, column=2)
                    cell_link.value = product_link

            print(f"[SUCCESS] Данные с файла {filenames} успешно считаны!")

        print(f"[SUCCESS] Данные с раздела {page} успешно прочитаны!")

    wb.save('result.xlsx')
    print("[SUCCESS] Данные успешно собраны!")

Результат кода
64a2b9744da41991639971.png64a2b97bc9b52630203892.png

Наверное перепробовал всё что можно, но ничего не получается, как записывает данные в первый лист и все, дальше не пишет...
В чем причина?
  • Вопрос задан
  • 112 просмотров
Подписаться 1 Простой 8 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Решения вопроса 1
mohovoy
@mohovoy Автор вопроса
Что-то там программирую, кто бы знал что именно?
Все, нашел ошибку. Надо в конце цикла, который записывает данные, переменную row сбросить
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽