Home » Python » python-docxの使い方 » python-docxでWord文書の全段落スタイル名を取得する

python-docxでWord文書の全段落スタイル名を取得する

動作検証バージョン:64bit版 Windows 10 Pro + Python 3.8.0 + python-docx 0.8.10

見出しスタイルの設定されている文字列のみ取得するpython-docxを使ったスクリプトをご紹介しました。

段落スタイルに関連して、あるWordファイルの中に、どのような段落スタイルが設定されているのかを確認したいという場面もあります。

[スポンサードリンク]

python-docxですべての段落スタイル名を取得する

以下のスクリプトを実行すると、Cドライブtempフォルダーのsample.docxで使われている、すべての段落スタイル名を取得できます。

import docx

doc = docx.Document(r'C:\temp\sample.docx')

styl_names = set()
for par in doc.paragraphs:
    styl_names.add(par.style.name)

print(sorted(styl_names))

サンプルスクリプトで行っている処理

通常、同じ名前の段落スタイルが、複数箇所で使われているはずで、それらがすべてprintされても、実務では使えません。

そこで上記のスクリプトでは、重複する要素を持たない集合型を利用しています。

set()関数で空のsetオブジェクトを作成して、

styl_names = set()

Wordファイルの全段落に対するfor文の中で、

for par in doc.paragraphs:

段落スタイル名(_ParagraphStyle.name)を、set.add()メソッドを使って追加しています。

    styl_names.add(par.style.name)

最後に、sorted()関数で昇順に並べ替えてprintしています。

print(sorted(styl_names))

最終更新日時:2023-02-24 14:09

[スポンサードリンク]

Home » Python » python-docxの使い方 » python-docxでWord文書の全段落スタイル名を取得する

「python-docxの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.