今回の記事では、python-docxというライブラリを使って、Wordを操作する基礎部分を解説します。
この記事では、こんな悩みを解決します。
![悩んでいる人](https://tsukimitech.com/wp-content/uploads/2021/01/business_woman2_4_think-150x150.png)
- Wordの業務効率化したくてPythonでどうやるか知りたい
- とても面倒な繰り返し作業がある・・・
WordとExcle業務効率化するための環境構築
WordとExcle業務効率化するためにPythonを使用します。
Pythonを使用できる環境にするために以下を実施ください。
それでは早速、本題に入りたいと思います。
WordファイルをPythonで扱う方法
Pythonでエクセルファイルを扱う方法
- python-docxというライブラリを使用する
公式のドキュメントはこちらです。
python-docxのインストール方法
以下のコマンドを
- Mac:ターミナル
- Win:コマンドプロンプト
にて入力しEnterを押してください。
pip install python-docx
python-docxのインポート
openpyxlを使用するためにはインポートする必要があります。
import docx
これでインポート可能です。
import python-docxではないので注意しましょう。
pythonのコードの実行方法がわからない方は、以下の記事を参考にしてみてください。
Jupyter LabによるPythonコードの実行方法
python-docxでドキュメントを開く方法
以下のコードを実行することで、空白のドキュメントが開きます。
from docx import Document
document = Document()
python-docxでドキュメントを保存する方法
以下のコードで保存できます。
カッコの中身に保存したいファイル名を記述します。
その際「”」で囲うことを忘れずに。
document.save("Sample.docx")
python-docxで段落の追加
新規でパラグラフを追加する場合は、以下のコードです。
paragraph = document.add_paragraph('Pythonの使い方について勉強する。')
分の途中に追加する場合は、以下のコードです。
prior_paragraph = paragraph.insert_paragraph_before('Pythonの使い方について勉強する。')
この場合は、paragraphの前に’Pythonの使い方について勉強する。’を挿入するコードです。
実行結果、出力されるドキュメントはこのようになります。
![](https://tsukimitech.com/wp-content/uploads/2021/03/image-330.png)
python-docxで見出しの追加
見出しを追加する方法は以下です。
document.add_heading('pythonとは')
見出しのレベルを変えたい場合は、levelで指定します。
h1とかh2とか見出しのレベルを指定することができます。
document.add_heading('pythonとは_レベル2', level=2)
出力結果は以下のようになります。
![](https://tsukimitech.com/wp-content/uploads/2021/03/image-331.png)
python-docxで改ページの追加
次のページを新規作成するときのコードです。
document.add_page_break()
python-docxでテーブルの追加
テーブルとは、表のことです。
エクセルを想像していただくとわかりやすいかと思います。
テーブルの作成
例えば、2行と2列の表を作成するときは、以下です。
table = document.add_table(rows=2, cols=2)
セルへのアクセス
行と列のアクセスは、以下で可能です。
数字の順番は、行、列の順番です。
cell = table.cell(0, 1)
指定したセルにテキストを入力するには、以下のように記述します。
cell.text = 'test'
出力結果は以下です。
![](https://tsukimitech.com/wp-content/uploads/2021/03/image-332-1024x215.png)
指定の行にアクセスするには、以下の方法がおすすめです。
row = table.rows[1]
row.cells[0].text = '1'
row.cells[1].text = '2'
実行結果は以下です。
![](https://tsukimitech.com/wp-content/uploads/2021/03/image-333-1024x208.png)
全てのセルにアクセスするには、以下の方法がおすすめです。
for row in table.rows:
for cell in row.cells:
print(cell.text)
出力結果は、以下です。
test 1 2
行と列数の取得方法
行と列の数を取得する方法は以下です。
row_count = len(table.rows)
col_count = len(table.columns)
行の追加
テーブルに行を追加する方法は以下です。
row = table.add_row()
python-docxで画像の追加
以下のコードで画像を追加することが可能です。
document.add_picture('イメージ名.png')
今回の記事は、以上です。
最後までお読みいただきありがとうございました。
コメント