「python docx 表内 表」
といった検索キーワードでアクセスがありました。
Microsoft Word等で作成できるdocxファイルを操作するPythonのライブラリpython-docxを使って、表の中に存在する表からデータを取得するには、どのようなコードを書けばいいのかを探していた方による検索でしょうか。
表内の表からデータを取得するサンプル
1つめの表の、1行目×1列目のセルに表が存在するsample.docxをCドライブtempフォルダーに準備してから、以下のスクリプトを実行してください。
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-03-31 16:14
Home » Python » python-docxの使い方 » python-docxで表内の表からデータを取得する
TrackBack:0
- TrackBack URL