0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Python プログラムを介して Word 文書からテキストを抽出する方法

Posted at

大型なWord文書のテキストを分析または処理する必要がある場合、特定のテキストを迅速に抽出することは手動でコピー&ペーストするよりも簡単かもしれません。この要件を実現するために、適切なテキスト処理ツールやプログラミング言語のライブラリを使用することができます。この記事では、Pythonのライブラリ「Spire.Doc for Python」を使用して、Word文書から特定のテキストまたはすべてのテキストを抽出する方法について説明します。

ツール

このプロフェッショナル ライブラリは、Word ドキュメントの作成Word から PDF への変換など、Python プラットフォームでの Word ドキュメントの処理をサポートします。

インストール方法

  • まず、Python をダウンロードしてインストールします。
  • VS Code で「Extensions」をクリックし、「Python」を検索してインストールします。
  • 「Explorer」-「NO FOLRDER OPENED」-「Open Folder」をクリックします。
  • 既存のフォルダーをワークスペースとして選択するか、新しいフォルダーを作成することもできます。
  • そのフォルダーに「.py」 ファイルを追加し、任意の名前を付けます。
  • 「Terminal」-「New Terminal」をクリックします。
  • 次のコマンドを入力して、Spire.Doc for Python と plum-dispatch v1.7.4 をインストールします。
pip install Spire.Doc

指定した段落のテキストを抽出する

from spire.doc import *
from spire.doc.common import *

#Documentオブジェクトを作成する
doc = Document()

#Wordドキュメントをロードする
doc.LoadFromFile("sample.docx")

#特定のセクションを取得する
section = doc.Sections[0]

#特定の段落を取得する
paragraph = section.Paragraphs[2]

#段落からテキストを取得する
str = paragraph.Text
print(str)

上記のコードでは、Document.Sections[index]Section.Paragraphs[index] プロパティを通じて、指定された段落を取得できます。 次に、Paragraph.Text プロパティを通じて段落内のテキストを抽出します。
2023-10-13_102211.png

文書全体からテキストを取得する

from spire.doc import *
from spire.doc.common import *

#Documentオブジェクトを作成する
doc = Document()

#Wordをロードする
doc.LoadFromFile("sample.docx")

#文書全体からテキストを取得する
str = doc.GetText()
print(str)

文書内のすべてのテキストを抽出する場合は、Document.GetText() メソッドを直接使用することもできます。
2023-10-13_102309.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?