Родительская и детская пуля в Python - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть документ, который содержит следующий образец текста,

This is a document which contains parent and child
    •   Photosynthesis
        •   CO~2~ in
        •   H~2~0 in
        •   Sunlight in
    •   Glucose
        •   CO~2~ in
        •   C~6~H~12~O~6~
        •   Oxygen out

Как разделить родительские и дочерние пули в Python, Я использовал python-docx

import docx
doc = docx.Document('bullet_test.docx')
for p in doc.paragraphs:
    text = p.text.encode("utf-8").strip()
    style = p.style.name.strip()
    print style

Я получаю стиль как 'Абзац списка' , и я не могу получить его как 'Список маркеров' или 'Список маркеров2' или 'Номер списка'

1 Ответ

0 голосов
/ 13 сентября 2018

Похоже, что ваши списки оформлены в стиле «Список абзацев», который является одним из встроенных стилей Microsoft Word . И стиль, применяемый к каждому из абзацев, изменяется локально, чтобы превратить его в маркированный список (разных уровней). Таким образом, вы не можете угадать уровень по самому стилю, вам нужно проверить каждый формат абзаца (маркировка, табуляция и т. Д.).

Доступ к свойствам форматирования абзаца осуществляется с помощью объекта ParagraphFormat , доступного с использованием свойства абзаца parab_format .

...