Python-docxはPythonの環境でWordを操作できるライブラリの一つです。
特にテキストの抽出やテーブル内のセル内容の抽出が容易にできるので覚えておいて損はないライブラリです。
今回は公式サイトを元にWord内のデータを抽出すること、抽出したデータを別のWordファイルへ保存すること、様々な仕様で新規にwordファイルを作る一連の流れまで紹介していきます。
最終成果イメージ
最終的にはこのようなファイルが作れるようになります。
ゼロからwordファイルを作成する
インストール方法
Python環境の導入がまだの方はこちらの記事を先に読んでください。
AnacondaのJupyter notebookを開き、以下の一行を実行することでインストール完了です。
インポート方法
docxをインポートします。
Wordファイルを新規に作成する
タイトルを作成する
.add_headingで段落を追加することができます。
第二引数はレベルを指し、0の場合はタイトルとして設定されます。
テキストの入力と書式指定
.add_paragraphでテキストを入力できます。
.add_run(●●).bold、.add_run(●●)italicで●●の部分を太字や斜体にすることができます。
style=”でスタイルを変更できます。
Intense Quoteは引用で使われるスタイルです。
style=を’List Bullet’とすると「・」、’List Number’とすると「1,2,3・・・」と表示されていきます。
図の挿入
.add_picture()で図の挿入ができます。
width=Inches()で幅のインチサイズを調整できます。
テーブル(表)の作成
作成するテーブルの中身をrecordsとして用意します。
add_table()でテーブルが作成できます。
hdr_cells=table.rows[0].cellsで行の最初のセルを指定、hdr_cells[0].textで1行1列目を’ID’と指定します。
2列目、3列目と同様に指定していくと列の項目名が入力されます。
for文以降で先ほどのrecordsの中身を代入していきます。
Wordファイルを保存する
add_page_break()で1ページをここで終了することができます。
doc.save(‘●●.docx’)で●●というファイル名でワードを保存できます。
【全文】Wordファイルを作成するコード
既にあるワードファイルからデータを抽出する方法
Wordファイルを読み込む
Wordの構成を確認する
※ここでは本記事の最後に作成するwordファイルを読み込む例です。
各構成の情報がこのように確認できます。
今後、データ抽出する際に念頭に置く情報として重要になるのでこの確認方法は要チェックです。
段落のテキストデータを抽出
段落のテキストデータを読み込む場合はparagraphs[]で段落数を指定します。
0とすると一番初めの段落のテキストとなります。
.textでテキストが抽出できます。
実際にprint文で表示させてみます。
「PythonでWordを操作」と出力されました。
表のセル値を抽出
表の場合はtable[]でテーブル番号を指定します。
今回はテーブルが一つしかないので、0と指定します。
.cell(●,●).textで抽出できます。
抽出したテキストを表示させてみます。
以上で解説は終わりです。