Все файлы docx имеют одинаковую структуру, мне нужно хранить текст, изображения и таблицы под определенными заголовками. Я пытаюсь использовать библиотеку python-docx.
Я пишу скрипт, который удаляет весь текст, который не находится под этими заголовками, но мне трудно удалять изображения и таблицы. .
Пока мой код выглядит так:
Код: Выделить всё
from docx import Document
def delete_paragraph(paragraph):
p = paragraph._element
p.getparent().remove(p)
p._p = p._element = None
def clean_doc(path_in: Path, path_out: Path, headings: list):
doc = Document(path_in)
keep_para = False
for para in doc.paragraphs:
if para.text in headings and para.style.name == 'Heading 3':
keep_para = True
elif para.style.name != 'Normal' and para.text not in headings:
keep_para = False
if not keep_para:
delete_paragraph(para)
doc.save(path_out)
headings = ['FIRST TITLE', 'THIRD TITLE', 'APPENDIX']
path_in = Path('path/to/file.docx')
path_out = Path('path/to/file2.docx')
clean_doc(path_in, path_out, headings)
Я использую Python 3.12 в WSL (Windows 11, Ubuntu) . У меня есть доступ к Linux-машинам под управлением Ubuntu и Fedora.
¿Есть ли способ добиться того, чего я хочу, с помощью python-docx, другой библиотеки Python или любого другого программного обеспечения?
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/791 ... python-doc