【Python応用】python-docxを用いたWord操作-概要-

Python

ここでは、Pythonにおける「python-docx」を用いたWordを操作する方法について初学者向けに解説しています。

スポンサーリンク
スポンサーリンク

python-docxとは

python-docxとは、Wordの操作をPythonを通して操作ができるライブラリです。

スライド作成、表や画像の挿入など操作が可能です。

自動化する際に便利なライブラリの一つです。

python-docxのインストール

外部ライブラリなので、「python-docx」を使用する場合はインストールする必要があります。

$ pip install python-docx

python-docxを用いた使用例

見出し作成

from docx import Document
from docx.shared import Inches
#1---Documentオブジェクトの宣言
document = Document()
#2---段落スタイル設定(表題)
document.add_heading('Title', 0)
#3---保存
document.save('test.docx')

見出し(段落スタイル)を作成する場合は「 document.add_heading 」を用います。引数には文字と0~9までのレベルを選択する必要があります。0が表題設定になります。

太文字、斜め文字設定

from docx import Document
from docx.shared import Inches
#1---Documentオブジェクトの宣言
document = Document()
#2---パラグラフ追加
doc = document.add_paragraph('A paragraph was added')
#3---太文字設定
doc.add_run(' A paragraph').bold = True
doc.add_run(' was ')
#4---斜め設定
doc.add_run('added').italic = True
#5---保存
document.save('test.docx')

文字列の追加は「 document.add_paragraph()」を用います。太文字設定は「 doc.add_run(”).bold = True 」とすることで設定できます。

イタリック体は「 doc.add_run(”).italic = True 」を用いることで可能です。

段落スタイル設定

from docx import Document
from docx.shared import Inches
#1---Documentオブジェクトの宣言
document = Document()
#2---段落スタイル設定(見出し1)'''
document.add_heading('Heading 1', level=1)
#3---保存
document.save('test.docx')

段落スタイルの設定は「 document.add_heading(”, level=***) 」を用います。レベルの設定で見出しのスタイルを変更できます。

引用設定

from docx import Document
from docx.shared import Inches
#1---Documentオブジェクトの宣言
document = Document()
#2---パラグラフスタイル設定(引用)
document.add_paragraph('Intense quote', style='Quote')
#3---保存
document.save('test.docx')

引用設定にする場合は「 document.add_paragraph(‘***’, style=’Quote’) 」を用います。この時、スタイルを「 ‘Quote’ 」とすることで引用設定にできます。

リスト設定

from docx import Document
from docx.shared import Inches
#1---Documentオブジェクトの宣言
document = Document()
#2---パラグラフスタイル設定(リスト)
document.add_paragraph('list style0', style='List Bullet')
#3---パラグラフスタイル設定(数値のリスト)
document.add_paragraph('list style1', style='List Number')
document.add_paragraph('list style2', style='List Number')
#4---保存
document.save('test.docx')

箇条書きの設定は「 document.add_paragraph(‘***’, style=’List Bullet’) 」を用います。箇条書きの設定は「 style=’***’ 」を変更することで数値のリスト、インデント等変更できます。

写真の挿入

from docx import Document
from docx.shared import Inches
#1---Documentオブジェクトの宣言
document = Document()
#2---写真の插入
document.add_picture('test.png', width=Inches(1.25))
#3---保存
document.save('test.docx')

写真の挿入は「 document.add_picture(‘***’, width=Inches(1.25)) 」を用います。「width」でサイズを指定できます。

表の作成

from docx import Document
from docx.shared import Inches
#1---Documentオブジェクトの宣言
document = Document()
#2---表のデータ設定
records = (
    (1, '35', 'NY'),
    (2, '29', 'DC'),
    (3, '24', 'CA, KY, GA')
)
#3---表の作成
table = document.add_table(rows=1, cols=3)#1行×3列
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Rank'
hdr_cells[1].text = 'Points'
hdr_cells[2].text = 'Team'
for rank, points, team in records:
    row_cells = table.add_row().cells
    row_cells[0].text = str(rank)
    row_cells[1].text = points
    row_cells[2].text = team

はじめに表のデータを設定します。次に表を作成します。表作成は「 document.add_table() 」を用います。

改ページ

from docx import Document
from docx.shared import Inches
#1---Documentオブジェクトの宣言
document = Document()
#2---ページの追加
document.add_page_break()
#3---保存
document.save('test.docx')

改ページの設定は「 document.add_page_break() 」を用います。

最後に

「python-docx」の基本的な使用方法について解説しました。使い方次第では、効率化や自動化に繋がります。

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