Home » Python » python-docxの使い方 » python-docxでWord文書内にある表内の表からデータを取得する

python-docxでWord文書内にある表内の表からデータを取得する

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

「python docx 表内 表」
といった検索キーワードでアクセスがありました。

Microsoft Word等で作成できるdocxファイルを操作するPythonのライブラリpython-docxを使って、表の中に存在する表からデータを取得するには、どのようなコードを書けばいいのかを探していた方による検索でしょうか。

[スポンサードリンク]

表内の表からデータを取得するサンプル

1つめの表の、1行目×1列目のセルに表が存在するsample.docxをCドライブtempフォルダーに準備してから、以下のスクリプトを実行してください。

import docx

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

nested_tbl = doc.tables[0].cell(0, 0).tables[0]
for cel in nested_tbl._cells:
    print(cel.text)

1つめの表の、1行目×1列目のセル内に存在する、1つ目の表のデータがprintされます。

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

表内の表を取得しているのは、
  nested_tbl = doc.tables[0].cell(0, 0).tables[0]
の右辺です。

セルを表す_Cellオブジェクトに用意されているtablesで、そのセルに存在するTableをリストとして得られ、「.tables[0]」とすることで1つ目のTableオブジェクトを取得しています。

表内の表であっても、Tableオブジェクトを取得したあとは、入れ子になっていない表の操作と同じです。

最終更新日時:2021-04-17 12:57

[スポンサードリンク]

Home » Python » python-docxの使い方 » python-docxでWord文書内にある表内の表からデータを取得する

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

検索


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

.