【Python】Wordファイルを作成する方法

この記事では、Pythonを使用してWordファイルを作成する方法を詳しく解説します。

テキストや画像、テーブルの挿入からページ設定やヘッダー・フッターの追加まで、Wordファイルの基本操作を学ぶことができます。

Python初心者でも分かりやすく、サンプルコードを交えて解説しています。

目次から探す

PythonでWordファイルを作成する重要性

Pythonを使用してWordファイルを作成することは、テキストや画像、表などの情報を効果的に整理し、プレゼンテーションやレポートの作成を自動化するために非常に重要です。

Pythonにはpython-docxというライブラリがあり、これを使用することで簡単にWordファイルを作成することができます。

python-docxライブラリをインストールするには、以下のコマンドを使用します。

pip install python-docx

このコマンドを実行することで、必要なライブラリがインストールされ、PythonでWordファイルを作成する準備が整います。

Wordファイルの基本操作

ファイルの作成と保存

Pythonを使用してWordファイルを作成する際には、python-docxというライブラリを使用します。

まずは、新しいWordファイルを作成し、内容を追加して保存する方法を見ていきましょう。

from docx import Document

# 新しいWordドキュメントを作成
doc = Document()

# テキストを追加
doc.add_paragraph('これはPythonで作成したWordファイルです。')

# ファイルを保存
doc.save('sample.docx')

上記のコードでは、Documentクラスを使用して新しいWordドキュメントを作成し、add_paragraphメソッドを使ってテキストを追加しています。

最後にsaveメソッドでファイルを保存しています。

テキストの挿入と書式設定

Wordファイルにテキストを挿入する際に、フォントやサイズ、色などの書式設定を行いたい場合があります。

以下の例では、テキストの書式を設定してWordファイルに挿入する方法を示しています。

from docx import Document
from docx.shared import Pt
from docx.shared import RGBColor

doc = Document()

# 書式設定を行いながらテキストを追加
p = doc.add_paragraph()
run = p.add_run('Pythonで作成したWordファイルです。')
run.bold = True  # 太字
run.italic = True  # 斜体
run.font.size = Pt(12)  # フォントサイズ
run.font.color.rgb = RGBColor(0x42, 0x24, 0xE9)  # フォントカラー

doc.save('formatted_sample.docx')

上記のコードでは、add_runメソッドを使用してテキストを追加し、bolditalicfont.sizefont.colorなどの属性を設定しています。

改行や段落の追加

Wordファイルに改行や段落を追加するには、add_paragraphメソッドを使用します。

以下の例では、複数の段落を追加して改行を入れる方法を示しています。

from docx import Document

doc = Document()

# 段落を追加
doc.add_paragraph('Pythonで作成した')
doc.add_paragraph('Wordファイルです。')

doc.save('line_break_sample.docx')

上記のコードでは、add_paragraphメソッドを使って複数の段落を追加しています。

各段落は改行され、別々の段落として表示されます。

ページ設定の変更

Wordファイルのページ設定を変更するには、sectionオブジェクトを使用して設定を変更します。

以下の例では、ページの余白を変更する方法を示しています。

from docx import Document
from docx.shared import Inches

doc = Document()

# ページ設定を変更
section = doc.sections[0]
section.left_margin = Inches(1.0)  # 左余白を1インチに設定
section.right_margin = Inches(1.0)  # 右余白を1インチに設定

doc.save('page_settings_sample.docx')

上記のコードでは、sectionsを使用して最初のセクションを取得し、left_marginright_marginを設定しています。

これにより、ページの余白が変更されます。

1 2 3 4 5

目次から探す