2016-11-02 8 views
3

MS Word文書(.docxファイル)の見出し(任意のレベル)からtextを抽出しようとしています。現在、私はpython-docxを使用して解決しようとしていますが、残念ながらそれを読んだ後でも実現可能かどうかはまだ分かりません(誤っているかもしれません)。単語の単語から見出しのテキストを抽出する

私はソリューションをオンラインで探すことを試みましたが、私の仕事に特有のものは何も見つかりませんでした。誰かがここで私を導くことができれば素晴らしいだろう。

+1

あなたは何を試しましたか、私たちを見せてもらえますか、あなたが苦しんでいる問題は何ですか? – MooingRawr

答えて

4

基本的な課題は、見出しの段落を特定することです。読者の関心がある限り見出しのように見えるように(そして役目を果たす)ために、「通常の」段落を書式化することから、著者が止めることは何一つありません。

ただし、作成者がスタイルを使用して見出しを作成することは珍しいことではありません。見出しを作成すると、見出しを目次に自動的にコンパイルすることができるためです。

この場合、段落を繰り返し処理し、見出しスタイルのいずれかを持つ段落を選択することができます。彼らは(、...「見出し2」、「見出し1」のような)デフォルト値を守ってきた場合

def iter_headings(paragraphs): 
    for paragraph in paragraphs: 
     if paragraph.style.name.startswith('Heading'): 
      yield paragraph 

for heading in iter_headings(document.paragraphs): 
    print heading.text 

見出しレベルは、完全なスタイル名から解析することができます。

著者が見出しスタイルの名前を変更した場合は、これを調整する必要があります。

より信頼できる(スタイル名に依存しない限り)より洗練されたアプローチがありますが、APIサポートがないため、内部コードを掘り下げていくつかのスタイルとやり取りする必要があります私はXMLを直接期待しています。

関連する問題