これまで「Word や PowerPoint に複数ページ・複数スライドを自動生成」する方法を紹介しました。さらに応用すると、複数のグラフや表を章立てしてレポート化できます。章立てを自動化することで、分析結果を体系的にまとめた本格的なレポートが作成可能です。
Word レポートに章立てしてグラフ+表を挿入する例
from docx import Document
from docx.shared import Inches
# 新しい Word 文書を作成
doc = Document()
# --- 第1章: 棒グラフ ---
doc.add_heading("第1章: 結果の範囲別件数", level=1)
doc.add_picture("bar_chart.png", width=Inches(5))
doc.add_paragraph("この章では、結果を範囲ごとに分類した件数を棒グラフで示しています。")
# --- 第2章: 円グラフ ---
doc.add_heading("第2章: 結果の範囲別割合", level=1)
doc.add_picture("pie_chart.png", width=Inches(5))
doc.add_paragraph("この章では、結果の割合を円グラフで示しています。")
# --- 第3章: 集計表 ---
doc.add_heading("第3章: 集計表", level=1)
table = doc.add_table(rows=1, cols=2)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'カテゴリ'
hdr_cells[1].text = '件数'
categories = {"small": 12, "medium": 8, "large": 5}
for key, value in categories.items():
row_cells = table.add_row().cells
row_cells[0].text = key
row_cells[1].text = str(value)
doc.add_paragraph("この章では、カテゴリごとの件数を表形式で示しています。")
# 保存
doc.save("chaptered_report.docx")
Python👉 実行すると 章立てされた Word レポートが生成されます。
PowerPoint に章立てして複数スライドを作成する例
from pptx import Presentation
from pptx.util import Inches
prs = Presentation()
# --- 第1章: 棒グラフ ---
slide1 = prs.slides.add_slide(prs.slide_layouts[5])
title1 = slide1.shapes.title
title1.text = "第1章: 結果の範囲別件数"
slide1.shapes.add_picture("bar_chart.png", Inches(1), Inches(2), Inches(6), Inches(4))
# --- 第2章: 円グラフ ---
slide2 = prs.slides.add_slide(prs.slide_layouts[5])
title2 = slide2.shapes.title
title2.text = "第2章: 結果の範囲別割合"
slide2.shapes.add_picture("pie_chart.png", Inches(1), Inches(2), Inches(6), Inches(6))
# --- 第3章: 集計表 ---
slide3 = prs.slides.add_slide(prs.slide_layouts[5])
title3 = slide3.shapes.title
title3.text = "第3章: 集計表"
rows = len(categories) + 1
cols = 2
table = slide3.shapes.add_table(rows, cols, Inches(1), Inches(2), Inches(6), Inches(3)).table
table.cell(0,0).text = "カテゴリ"
table.cell(0,1).text = "件数"
for i, (key, value) in enumerate(categories.items(), start=1):
table.cell(i,0).text = key
table.cell(i,1).text = str(value)
prs.save("chaptered_report.pptx")
Python👉 実行すると 章立てされた PowerPoint プレゼン資料が生成されます。
解説ポイント
- 章立て →
add_heading()(Word)やtitle.text(PowerPoint)で章タイトルを付ける。 - グラフ挿入 →
add_picture()を使って画像を配置。 - 表挿入 → Word では
add_table()、PowerPoint ではadd_table()を利用。 - 自動化メリット → データ更新に合わせて章立てレポートを自動生成できる。
応用の場面
- 定期レポート → 毎週の分析結果を章立てしてまとめる。
- プレゼン資料 → グラフと表を章ごとに整理してスライド化。
- データ分析共有 → チームにわかりやすい形で自動生成したレポートを配布。
まとめ
- Word では 章ごとにページ+グラフ+表を配置。
- PowerPoint では スライドごとに章立てしてグラフ+表を配置。
- 自動化により、体系的なレポートやプレゼン資料を効率的に作成できる。

