[Python] Wordファイルを作成する方法
PythonでWordファイルを作成するには、 python-docx ライブラリを使用します。 このライブラリは、Word文書の作成、編集、保存を簡単に行うための機能を提供します。 まず、 Document クラスをインスタンス化して新しい文書を作成します。 次に、 add_paragraph メソッドを使用して段落を追加したり、 add_heading メソッドで見出しを追加することができます。 最後に、 save メソッドを使用してファイルを保存します。 この方法を使えば、プログラムから自動的にWord文書を生成することが可能です。
PythonでWordファイルを作成する方法
必要なライブラリの紹介ここでは、最も一般的に使用されるライブラリである python-docx について紹介します。
python-docxとはpython-docx は、Pythonを使用してMicrosoft Wordの.docxファイルを操作するためのライブラリです。
- 新しいWordファイルの作成
- 既存のWordファイルの読み込みと編集
- テキストや画像の追加
- 表や段落の操作
- フォントやスタイルの設定
インストールは、Pythonのパッケージ管理ツールである pip を使用して簡単に行うことができます。
pip install python-docxこのコマンドを実行することで、 python-docx ライブラリがインストールされ、Pythonスクリプト内で使用できるようになります。
import docxこれで、 python-docx を使用してWordファイルを操作する準備が整いました。
Wordファイルの基本操作
新しいWordファイルの作成新しいWordファイルを作成するには、 python-docx ライブラリの Documentクラス を使用します。
import docx # 新しいWordドキュメントを作成 doc = docx.Document() # ドキュメントに段落を追加 doc.add_paragraph("これは新しいWordファイルです。") # ファイルを保存 doc.save("new_document.docx")このコードを実行すると、カレントディレクトリに new_document.docx という名前のWordファイルが作成されます。
既存のWordファイルの読み込み import docx # 既存のWordドキュメントを読み込む doc = docx.Document("existing_document.docx") # ドキュメント内のすべての段落を表示 for paragraph in doc.paragraphs: print(paragraph.text)このコードを実行すると、指定した existing_document.docx ファイル内のすべての段落がコンソールに表示されます。
テキストの追加
段落の追加 import docx # 新しいWordドキュメントを作成 doc = docx.Document() # 段落を追加 doc.add_paragraph("これは最初の段落です。") doc.add_paragraph("これは2番目の段落です。") # ファイルを保存 doc.save("paragraphs_document.docx")このコードを実行すると、 paragraphs_document.docx という名前のWordファイルが作成され、指定した2つの段落が含まれます。
フォントスタイルの設定 import docx from docx.shared import Pt # 新しいWordドキュメントを作成 doc = docx.Document() # 段落を追加し、フォントスタイルを設定 paragraph = doc.add_paragraph("これはスタイル付きの段落です。") run = paragraph.runs[0] run.font.size = Pt(14) # フォントサイズを14ポイントに設定 run.bold = True # 太字に設定 run.italic = True # 斜体に設定 # ファイルを保存 doc.save("styled_paragraph_document.docx")このコードを実行すると、 styled_paragraph_document.docx という名前のWordファイルが作成され、指定したスタイルが適用された段落が含まれます。
画像の挿入
画像ファイルの読み込みpython-docx を使用してWordドキュメントに画像を挿入するには、 add_pictureメソッド を使用します。
import docx # 新しいWordドキュメントを作成 doc = docx.Document() # 画像を挿入 doc.add_picture("example_image.png") # ファイルを保存 doc.save("image_document.docx")このコードを実行すると、 image_document.docx という名前のWordファイルが作成され、指定した example_image.png 画像がドキュメントに挿入されます。
画像の配置とサイズ調整 import docx from docx.shared import Inches # 新しいWordドキュメントを作成 doc = docx.Document() # 画像を挿入し、幅を指定してサイズを調整 doc.add_picture("example_image.png", width=Inches(2)) # ファイルを保存 doc.save("resized_image_document.docx")このコードを実行すると、 resized_image_document.docx という名前のWordファイルが作成され、幅が2インチに調整された画像が挿入されます。
表の作成
表の追加方法python-docx を使用してWordドキュメントに表を追加するには、 add_tableメソッド を使用します。
import docx # 新しいWordドキュメントを作成 doc = docx.Document() # 3行3列の表を追加 table = doc.add_table(rows=3, cols=3) # 各セルにデータを入力 for row in range(3): for col in range(3): cell = table.cell(row, col) cell.text = f"セル -" # ファイルを保存 doc.save("table_document.docx")このコードを実行すると、 table_document.docx という名前のWordファイルが作成され、3行3列の表が挿入されます。
セルの編集とスタイル設定 import docx from docx.oxml import parse_xml from docx.oxml.ns import nsdecls # 新しいWordドキュメントを作成 doc = docx.Document() # 2行2列の表を追加 table = doc.add_table(rows=2, cols=2) # 各セルにデータを入力し、背景色を設定 for row in range(2): for col in range(2): cell = table.cell(row, col) cell.text = f"データ -" # 背景色を設定 cell._element.get_or_add_tcPr().append(parse_xml(r' w:fill="FFFF00"/>'.format(nsdecls('w')))) # ファイルを保存 doc.save("styled_table_document.docx")このコードを実行すると、 styled_table_document.docx という名前のWordファイルが作成され、背景色が黄色に設定された2行2列の表が挿入されます。
ヘッダーとフッターの設定
ヘッダーの追加python-docx を使用してWordドキュメントにヘッダーを追加するには、 sections プロパティを使用してドキュメントのセクションを取得し、 header プロパティを操作します。
import docx # 新しいWordドキュメントを作成 doc = docx.Document() # ドキュメントの最初のセクションを取得 section = doc.sections[0] # ヘッダーにテキストを追加 header = section.header header_paragraph = header.paragraphs[0] header_paragraph.text = "これはヘッダーのテキストです。" # ファイルを保存 doc.save("header_document.docx")このコードを実行すると、 header_document.docx という名前のWordファイルが作成され、すべてのページに「これはヘッダーのテキストです。」というテキストが表示されます。
フッターの追加 import docx # 新しいWordドキュメントを作成 doc = docx.Document() # ドキュメントの最初のセクションを取得 section = doc.sections[0] # フッターにテキストを追加 footer = section.footer footer_paragraph = footer.paragraphs[0] footer_paragraph.text = "これはフッターのテキストです。" # ファイルを保存 doc.save("footer_document.docx")このコードを実行すると、 footer_document.docx という名前のWordファイルが作成され、すべてのページに「これはフッターのテキストです。」というテキストが表示されます。
応用例
複数ページのドキュメント作成 import docx # 新しいWordドキュメントを作成 doc = docx.Document() # 最初のページに段落を追加 doc.add_paragraph("これは最初のページです。") # ページブレークを挿入 doc.add_page_break() # 2ページ目に段落を追加 doc.add_paragraph("これは2ページ目です。") # ファイルを保存 doc.save("multi_page_document.docx")このコードを実行すると、 multi_page_document.docx という名前のWordファイルが作成され、2ページにわたるドキュメントが生成されます。
自動レポート生成 import docx # 新しいWordドキュメントを作成 doc = docx.Document() # データを定義 data = [ ["項目", "値"], ["売上", "100万円"], ["利益", "20万円"] ] # 表を追加 table = doc.add_table(rows=1, cols=2) hdr_cells = table.rows[0].cells hdr_cells[0].text = data[0][0] hdr_cells[1].text = data[0][1] # データを表に追加 for item, value in data[1:]: row_cells = table.add_row().cells row_cells[0].text = item row_cells[1].text = value # ファイルを保存 doc.save("report_document.docx")このコードを実行すると、 report_document.docx という名前のWordファイルが作成され、データが表形式でレポートとして出力されます。
テンプレートを使用したドキュメント作成 import docx # テンプレートを読み込む doc = docx.Document("template_document.docx") # テンプレートの内容を編集 doc.add_paragraph("テンプレートに新しい内容を追加します。") # ファイルを保存 doc.save("customized_document.docx")このコードを実行すると、 customized_document.docx という名前のWordファイルが作成され、テンプレートに新しい内容が追加されます。
まとめ
URLをコピー URLをコピーしました 2025-04-14 更新日: 2025-04-14 関連記事 python-pptxライブラリの使い方 – PowerPointを操作する [Python] “import openpyxl”がエラーになる原因と対処法 [Python] import docxがエラーになる原因と対処法 [Python] エクセルファイルを読み込めない原因と対処法 [Python] Pandasでエクセルファイルを読み込む方法 [Python] エクセルファイルを読み込んでデータを処理する方法【Pandas/Numpy/openpyxl】 [Python] openpyxlでデータをエクセルファイルに出力する方法 [Python] openpyxlで列を指定してセルを取得する方法 [Python] openpyxlでエクセルの日付セルから日時を取得する方法 [Python] openpyxlでエクセルのセルの色を取得・変更する方法- データベース (9)
- Microsoft Office (28)
- NumPy (52)
- Google (21)
- Pandas (54)