Парсинг excel с записью в БД

Рейтинг: 0Ответов: 0Опубликовано: 06.07.2023

Требуется распарсить ексель следующего формата: Сам ексель который парситься

Вот мой код:

import openpyxl as op
from app import db
from app.models import Books



file_path = ""
exel_doc = op.load_workbook(file_path, data_only=True)
sheet_names = exel_doc.sheetnames
sheet = exel_doc[sheet_names[0]]

i = 1
thematics = ''
topics = ''
book_name = ''
authors = ''
publication_date = ''
notes = ''


 while sheet[f'A{i}'].value is not None:
     if sheet[f'A{i}'].value.lstrip().split(' ')[-1].isdigit():
         topics = sheet[f'A{i}'].value
     elif sheet[f'A{i}'].value.lstrip().split(' ')[-1] == '.':
         thematics = sheet[f'A{i}'].value
     else:
         book_name = sheet[f'A{i}'].value
     authors = sheet[f'B{i}'].value
     publication_date = sheet[f'C{i}'].value
     notes = sheet[f'D{i}'].value
     i += 1
     print(f'{book_name} | {authors} | {publication_date} | {notes} | {topics} | {thematics}')

Проблема заключается в том, что Название с цифрами это Раздел и Тема соответственно (thematics, topics). Подскажите как вытащить Раздел и тему так, чтобы они сохранялись для списка книг под ними. Как только мы дойдем до следующего раздела, Раздел и тема меняются для списка книг относящихся к ним.

Спасибо.

Ответы

Ответов пока нет.