Home » Python » python-docxの使い方 » python-docxですべての段落スタイル名を取得

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

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

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

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

[スポンサードリンク]

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

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


import docx

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

sty_names = set()
for para in doc.paragraphs:
    sty_names.add(para.style.name)

print(sorted(sty_names))

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

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

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

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

Wordファイルの全段落に対するfor文の中で、
  for para in doc.paragraphs:

段落名(_ParagraphStyle.name)を、set.add()メソッドを使って追加しています。
      sty_names.add(para.style.name)

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

[スポンサードリンク]

Home » Python » python-docxの使い方 » python-docxですべての段落スタイル名を取得

TrackBack:0

TrackBack URL

Home » Python » python-docxの使い方 » python-docxですべての段落スタイル名を取得

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

検索


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

.