Pythonで整理したデータやグラフを他人と共有する際、皆さんはどうしていますか。
PlotlyでpngやHTMLファイルで保存するのも良し、Streamlitなどを使ってダッシュボードを使って共有するのも良し。
ただ、もしもパワーポイントへPythonを使って出力できたらどうでしょうか。パワーポイントは広く一般的に使われるソフトなので誰に対しても受け入れられるでしょう。
一度Pythonコードを作ってしまえば、毎朝決まった時間に報告資料を作成することも可能です。
そこで、今回はPythonからパワーポイントを操作する方法を紹介します。
インストール方法
pip install python-pptx
まずはpython-pptxの公式ドキュメントをみてみましょう。
赤枠で囲った部分にいくとテキストボックス(textbox)の追加や図(picture)・表(table)の追加についてサンプルコードを使った紹介があります。
Presentationオブジェクトを作成する
まず初めにPresentationをインポートします。
from pptx import Presentation
Presentation()をprsで定義し直して省略して使用できるようにします。
prs=Presentation()
Slideオブジェクトを追加する
まずはslide_layoutsで作成するスライドのデザインを指定します。
layouts[0]はタイトルスライドを指していて他のデザインを使用する場合は数字を0から変更するだけです。
slides.addで実際にスライドが追加されます。
title_slide_layout=prs.slide_layouts[0]
sld0=prs.slides.add_slide(title_slide_layout)
Slideオブジェクトに構成要素を追加する
まずはプレースホルダー(placeholder)にタイトルとサブタイトルを記入します。
プレースホルダーとはスライドを挿入したときに表示される点線で囲まれた枠のことです。
placeholder[0]がタイトル、placeholder[1]がサブタイトルです。
title.textとsubtitle.textへそれぞれ’Pythonでパワポを作成’、’第1回 タイトルスライドの作成’と入力します。
title=sld0.placeholders[0]
subtitle=sld0.placeholders[1]
title.text='Pythonでパワポを作成'
subtitle.text='第1回 タイトルスライドの作成'
Presentationオブジェクトを保存する
.saveで保存完了です。
実際に出来上がったパワーポイントをみてみましょう。
prs.save('sample.pptx')
タイトルスライドが完成しました。
コードまとめ
from pptx import Presentation
prs=Presentation()
title_slide_layout=prs.slide_layouts[0]
sld0=prs.slides.add_slide(title_slide_layout)
title=sld0.placeholders[0]
subtitle=sld0.placeholders[1]
title.text='Pythonでパワポを作成'
subtitle.text='第1回 タイトルスライドの作成'
prs.save('sample.pptx')
Pythonでパワポ資料の作成について興味がある方は引き続きこちらの記事をご覧ください。