Парсинг excel с записью в БД
Требуется распарсить ексель следующего формата:
Вот мой код:
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). Подскажите как вытащить Раздел и тему так, чтобы они сохранялись для списка книг под ними. Как только мы дойдем до следующего раздела, Раздел и тема меняются для списка книг относящихся к ним.
Спасибо.
Источник: Stack Overflow на русском