2016-08-04 15 views
0

Ich habe ein Dokument docx, das in Abschnitte und Unterabschnitte z.Wie extrahiert man Abschnittsnummern in einem Dokument mit Python-docx?

Abschnitt A

texttexttext

  1. texttexttext

    1,1 texttexttext

  2. texttexttext

    (a) texttexttext

Ich möchte Python-docx verwenden, um den Text zu extrahieren. Es ist leicht, den Text in den Absätzen zu erhalten, aber ich weiß nicht, wie man den Text der Abschnittsüberschriften erhält (z.B. "1." und "(a)" usw.). Gibt es einen einfachen Weg, dies zu tun?

Antwort

0

Wie einfach das sein wird, hängt davon ab, wie streng der Dokumentautor das Dokument konstruiert hat.

Es ist der beste Fall, der Autor hat Stile für alle Abschnittsüberschriften verwendet, und dann können Sie einfach die Absätze durchlesen, die zum Beispiel diejenigen mit dem "Überschrift 1" -Stil auswählen.

for paragraph in document.paragraphs: 
    if paragraph.style.name == 'Heading 1': 
     print(paragraph.text) 

Wenn der Autor stattdessen angewendet Zeichenformatierung wie fett und Schriftgröße Schriften zu bezeichnen, ist Ihre Aufgabe schwieriger sein wird, da diese viel weniger wahrscheinlich Schriften eindeutig zu identifizieren.