【Python】Wordの文章を読み込んで出力する方法(本文、表、ハイパーリンク、プロパティ)

スポンサーリンク

Pythonを使用して、Wordファイルを読み込んで、本文、表、ハイパーリンク、プロパティを出力する方法を紹介します。

やり方

1.以下コマンドででWord用のライブラリをインストール

pip install python-docx

2.Wordファイルを作成し、適当な内容を記載する。今回は以下(“テスト.docx”というファイル名にした)

2.”sample.py”というファイルを作成し、以下を記載

# 「pip install python-docx」を事前にインストール
import docx
from docx.opc.constants import RELATIONSHIP_TYPE as rt

doc = docx.Document('テスト.docx')

# 以下本文
print('--------本文--------')
for i, paragraphs in enumerate(doc.paragraphs):
    print(paragraphs.text)

# 以下表
print('--------表--------')
for i, table in enumerate(doc.tables):
    for j, row in enumerate(table.rows):
        for k, cell in enumerate(row.cells):
            print(cell.text)

# 以下ハイパーリンク
print('--------ハイパーリンク--------')
for relation in doc.part.rels.values():
    if relation.reltype == rt.HYPERLINK:
        print(relation.target_ref)

# 以下プロパティ情報
properties = doc.core_properties
print('--------プロパティ情報--------')
print(f'作成者: {properties.author}')
print(f'カテゴリ: {properties.category}')
print(f'コメント: {properties.comments}')
print(f'キーワード: {properties.keywords}')
print(f'最終編集者: {properties.last_modified_by}')
print(f'件名: {properties.subject}')
print(f'タイトル: {properties.title}')
print(f'作成日時:{properties.created}')
print(f'最終印刷日時: {properties.last_printed}')
print(f'編集日時: {properties.modified}')

3.以下のようにしてコマンドプロンプト等でファイルを実行(sample.pyはC:\work\python配下に配置)

C:\work\python> python .\sample.py

4.以下が出力される。
 ※本文、表はそれぞれバラバラに取得する方法しかわからず、Wordの記載順に出力する方法は不明

--------本文--------
こんにちは
今日は晴れです。
気温は20度です。
表の下

https://programming.sincoston.com/python-word-read/

--------表--------
表1行目1列目
表1行目2列目
表2行目1列目
表2行目2列目
--------ハイパーリンク--------
https://programming.sincoston.com/python-word-read/
--------プロパティ情報--------
作成者: Microsoft アカウント
カテゴリ:
コメント:
キーワード:
最終編集者: Microsoft アカウント
件名:
タイトル:
作成日時:2025-03-04 14:42:00+00:00
最終印刷日時: None
編集日時: 2025-03-15 14:04:00+00:00

コメント

タイトルとURLをコピーしました