Python

python-docxによるファイル操作〜Word基礎編〜

Python

今回の記事では、python-docxというライブラリを使って、Wordを操作する基礎部分を解説します。

この記事では、こんな悩みを解決します。

悩んでいる人
悩んでいる人
  • Word業務効率化したくてPythonでどうやるか知りたい
  • とても面倒な繰り返し作業がある・・・

WordとExcle業務効率化するための環境構築

WordとExcle業務効率化するためにPythonを使用します。

Pythonを使用できる環境にするために以下を実施ください。

それでは早速、本題に入りたいと思います。

WordファイルをPythonで扱う方法

Pythonでエクセルファイルを扱う方法

  • python-docxというライブラリを使用する

公式のドキュメントはこちらです。

python-docx — python-docx 1.1.0 documentation

python-docxのインストール方法

以下のコマンドを

  • Mac:ターミナル
  • Win:コマンドプロンプト

にて入力しEnterを押してください。

pip install python-docx

python-docxのインポート

openpyxlを使用するためにはインポートする必要があります。

import docx

これでインポート可能です。

import python-docxではないので注意しましょう。

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の使い方について勉強する。’を挿入するコードです。

実行結果、出力されるドキュメントはこのようになります。

python-docxで見出しの追加

見出しを追加する方法は以下です。

document.add_heading('pythonとは')

見出しのレベルを変えたい場合は、levelで指定します。

h1とかh2とか見出しのレベルを指定することができます。

document.add_heading('pythonとは_レベル2', level=2)

出力結果は以下のようになります。

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'

出力結果は以下です。

指定の行にアクセスするには、以下の方法がおすすめです。

row = table.rows[1]
row.cells[0].text = '1'
row.cells[1].text = '2'

実行結果は以下です。

全てのセルにアクセスするには、以下の方法がおすすめです。

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')

今回の記事は、以上です。

最後までお読みいただきありがとうございました。

コメント

タイトルとURLをコピーしました