
【悩み】
・PythonでWordファイルの新規作成などはできる?
・Pythonを使うとWordファイルにどのような操作ができるか知りたい。
・そもそもメリットは?どういったことを実現できる?活用例を知りたい。
こういった「悩み」に答えます。
【本記事の内容】
① Wordファイルに対してPythonでできること
➁ Pythonで操作その1:Wordファイルを新規作成
➂ Pythonで操作その2:既存のWordファイルを編集
④ Pythonで操作その3:Wordファイルを5つの形式に変換
⑤ Pythonで操作その4:Wordファイルから3種類のデータを抽出
本記事に掲載した方法を実践したことで、Wordファイル(docxやdocファイル)をPythonから新規作成などの操作をできるようになりました(下の動画参照)。
記事の前半では「PythonでWordファイルを操作できるようになるとどういった利点があるのか」を解説します。
記事の後半では、「よく使うWordの操作をPython経由で実現する方法」を説明します。
この記事を読み終えることで、「あなたが抱えているWord関連の作業を自動化でき時間的猶予を得られる」状態になります。
Wordファイルに対してPythonでできること

どのような操作をできるかご紹介します。また、その活用方法についてもいくつかご紹介します。
【ご紹介事項】
・新規作成などのよく使う4種類の操作が可能
・様々な作業の自動化が可能:時短というメリットを得られる
新規作成などのよく使う4種類の操作が可能
以下の4種類のことができます。
【できること】
・Wordファイルを新規作成
・既存のWordファイルを編集
・Wordファイルを様々な形式に変換
・Wordファイルからデータを抽出
各操作を実現する手順に関しては、以降でご紹介します。
様々な作業の自動化が可能:時短というメリットを得られる
PythonでWordファイルを操作できるようになると、様々な作業を自動化できます。自動化により空いた時間を別の作業などに割り当てることができるという利点があります。
例えば、以下のような例が挙げられます。
【例1:Webコンテンツ作成の時間短縮】

【例2:データ分析するための準備時間を削減】

以降で、Pythonで実施できるWordの操作に関して詳しく解説します。様々な作業自動化の例も各記事でご紹介しているので参考になれば幸いです。
Pythonで操作その1:Wordファイルを新規作成

具体的には、以下の操作をPythonから実施できます。
操作内容 | 利用ライブラリ | 利用する関数 |
新規作成し保存 | python-docx | save |
見出しの作成 | python-docx | add_heading |
ヘッダーとフッターの作成 | python-docx | ー |
段落を作成し文字の書き込み | python-docx | add_paragraph |
改ページの実施 | python-docx | add_page_break |
フォントの指定 | python-docx | ー |
リスト(箇条書き)の挿入 | python-docx | ー |
画像の貼り付け | python-docx | add_picture |
テーブル(表)の挿入 | python-docx | add_table |
コメント挿入 | bayoo-docx | add_comment |
上記の操作を実現する手順やプログラムは、以下の記事に掲載しています。ライブラリのインストール方法からプログラムの実行例までを解説しています。ぜひ、ご覧ください。
>> 【5分でわかる】PythonでWordを新規作成する方法:10事例解説
Pythonで操作その2:既存のWordファイルを編集

Pythonを使うことで、既存Wordファイルを編集できます。具体的には、新規操作でご紹介した一連の操作を実施できます。
以下の記事で紹介している「docx.Document()」を「docx.Document(“既存WordファイルのPATH”)」に読み替えてください。
>> 【5分でわかる】PythonでWordを新規作成する方法:10事例解説
Pythonで操作その3:Wordファイルを5つの形式に変換

具体的には、以下に変換できます。
操作内容 | 利用ライブラリ | 利用する関数 |
PDFに変換 | docx2pdf、LibreOffice | ー |
HTMLファイルに変換 | mammoth | convert_to_html |
テキストファイルに変換 | python-docx、Aspose.Words | ー |
Markdownファイルに変換 | Aspose.Words、docx2md、pandoc、pypandoc | ー |
Excelファイルに変換 | Aspose.Words、mammoth、LibreOffice、PyAutoGUI、python-docx、openpyxl | ー |
以降で、各種ファイルへの変換方法に関して解説します。
PDFに変換
docx2pdfまたはLibreOfficeのライブラリを使うことで、PythonでWordファイルをPDFに変換できます。詳細なプログラムに関しては、以下の記事をご覧ください。
>> 【5分でわかる】PythonでWordをPDF変換:Linux含む全OS対象
HTMLファイルに変換
mammothライブラリを使うことで、PythonでWordファイルをHTMLファイルに変換できます。詳細なプログラムに関しては、以下の記事をご覧ください。
>> 【5分でわかる】PythonでWordをHTMLに変換:応用例も2つ解説
テキストファイルに変換
python-docxまたはAspose.Wordsのライブラリを使うことで、PythonでWordファイルをテキストファイルに変換できます。詳細なプログラムに関しては、以下の記事をご覧ください。
>> 【5分でわかる】PythonでWordをテキストファイルに変換する方法
Markdownファイルに変換
Aspose.Words、docx2md、pandocとpypandocのライブラリを使うことで、PythonでWordファイルをMarkdowファイルに変換できます。詳細なプログラムに関しては、以下の記事をご覧ください。
>> 【5分でわかる】PythonでWordをMarkdownに変換:応用例掲載
Excelファイルに変換
「Aspose.Words」「mammothとLibreOffice」「PyAutoGUI」「python-docxとopenpyxl」のライブラリを使うことで、PythonでWordファイルをExcelファイルに変換できます。詳細なプログラムに関しては、以下の記事をご覧ください。
>> 【5分でわかる】PythonでWordをExcelに変換する方法3選
Pythonで操作その4:Wordファイルから3種類のデータを抽出

具体的には、以下のデータを抽出できます。
操作内容 | 利用ライブラリ | 利用する関数 |
テキストを抽出 | python-docx、lxml、Aspose.Words | ー |
テーブルを抽出 | python-docx | ー |
画像を抽出 | zipfileとos | ZipFile |
以降で、各種データの抽出方法に関して解説します。
テキストを抽出
python-docx、lxml、Aspose.Wordsのいずれかのライブラリを使うことで、PythonでWordファイルからテキストのみを抽出できます。詳細なプログラムに関しては、以下の記事をご覧ください。
>> 【5分でわかる】PythonでWordからテキストを抽出:3事例解説
テーブルを抽出
python-docxのライブラリを使うことで、PythonでWordファイルからテーブルのみを取り出すことができます。詳細なプログラムに関しては、以下の記事をご覧ください。
>> 【5分でわかる】PythonでWordからテーブルを抽出:応用例も解説
画像を抽出
zipfileとosのライブラリを使うことで、PythonでWordファイルから画像のみを取り出すことができます。詳細なプログラムに関しては、以下の記事をご覧ください。
>> 【5分でわかる】PythonでWordから画像を抽出:応用例も解説
Pythonを使うことで、様々なWordファイルの操作を自動化できます。本記事で学習した内容で作業の自動化を徹底し、時間に余裕を作ってみてください!
【まとめ】4つの操作を自動化できる!

いかがでしたでしょうか?
上記で紹介した様々なライブラリを使うことで、PythonでWordファイルの操作を自動化できます。
最後にもう一度内容を確認しましょう。
【おさらい】
・PythonでWordファイルの新規作成、編集、変換、抽出が可能!
・使い道はさまざま!紹介したプログラムを応用することで時短が可能!
・例えば、データ分析準備に必要な作業(テキスト抽出)などを自動化可能!
本ブログでは、「業務の時短化に繋がるIT技術」や「クラウドやOSSの学び方」などを発信しています。定期的に更新していますので、ぜひブックマークをよろしくお願いいたします。
コメント