Python

PythonでWordファイルを操作する python-docxをインストール サンプルコード付き

業務や日報の作成時など、どうしてもWordファイルを扱わなければならないことがあると思います。日々の作業で、定型的なことなのに…となることがあると思います。

そんなときに効率よく作業できたら…、なんとPythonなら簡単に作成できてしまうんです。本記事では、python-docxを使ってよくやりそうなことを試してみます。

Wordファイルの作成が必要な人に少しでも参考になったら嬉しいです!

python-docxをインストールする

pip install python-docx

インストールできたらさっそくdocxファイルの作成と、保存をしてみましょう!

pythonでdocxを作って保存してみる

import docx

doc = docx.Document()
doc.add_paragraph('Hello, world!')
doc.save('ex01.docx')
実行結果

文章をスタイル「表題」で追加、複数行、太文字など

ちょっとした応用ですが、こんな事もできるという一例。

import docx

doc = docx.Document()
doc.add_heading('表題', 0)
p = doc.add_paragraph('本文 1行目 ')
p.add_run('太字').bold = True
doc.add_paragraph('本文 2行目')
doc.save('ex02.docx')
実行結果

プログラムでここまで自動で生成できるんですね。面白い。

表を作る

import docx

records = (
    (1, '太郎', 160),
    (2, '次郎', 155),
    (3, '花子', 155)
)

doc = docx.Document()
table = doc.add_table(rows=1, cols=3)

header_cells = table.rows[0].cells
header_cells[0].text = 'no'
header_cells[1].text = '名前'
header_cells[2].text = '身長'
for no, name, height in records:
    row_cells = table.add_row().cells
    row_cells[0].text = str(no)
    row_cells[1].text = name
    row_cells[2].text = str(height)

doc.save('ex03.docx')
実行結果

表にスタイルを設定してみる

一つ上のコードにこれを加えてみてください。スタイル名の一覧のリンクです。

table.style = doc.styles['Light List Accent 3']
実行結果

画像を挿入する

import docx

doc = docx.Document()
doc.add_picture('./sample.png', width=docx.Inches(1.0))
doc.save('ex04.docx')
実行結果

とても簡単にWordのファイルの作成ができることがわかると思います。Wordファイルの作成が必要な人に少しでも参考になったら嬉しいです!