Pythonでデータ分析レポートを自動的に生成する

多くの場合、繰り返し作業を行う必要があります。たとえば、毎月同様のデータ分析レポートを作成します。フレームワーク全体は基本的に固定されています。現時点では、Pythonを使用してデータ分析レポートを自動的に生成できます。詳細レポート形式を調整する代わりに、分析により多くの時間とエネルギーが費やされます。

python-pptxは、PPTファイルを自動的に作成および更新できるPythonライブラリであり、データ分析レポートを自動的に生成するために使用できます。

以下では、私自身の個人データを例として取り上げ、python-pptxを使用して、参照用にデータ分析レポートの簡単なバージョンを作成します。

以下は、特定の製造ステップと方法です。

まず、python-pptxをインストールしていない場合は、コマンドラインに次のように入力してください。

pip install python-pptx

次に、matplotlibなどの描画ツールを使用して、データ分析レポートで使用されるグラフを生成し、picフォルダーに保存します。

次に、PPTテンプレートファイルを作成し、マスターを事前定義し、対応するレイアウトを設定するなどして、ファイルに「template.pptx」という名前を付けます。

次に、JupyterLab環境で次のコードを実行します。

# ライブラリをインポートする
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor

# テンプレートのダウンロードhttps://github.com/linjiwx/mp
prs =Presentation('テンプレート.pptx')

# スライドホームページを追加
slide_layout0 = prs.slide_layouts[0]
slide = prs.slides.add_slide(slide_layout0)

# タイトルとサブタイトルのテキストを設定する
title = slide.shapes.title
subtitle = slide.placeholders[10]
title.text ='2020年9月のLinJiのデータ分析レポート'
subtitle.text ='2020-10-08'

# スライドとテキストモジュールを追加し、実際のニーズに応じてレイアウトを選択します

# *************1. 主な分析の結論*****************
slide_layout1 = prs.slide_layouts[1]
slide1 = prs.slides.add_slide(slide_layout1)

# 表題を加える
title = slide1.placeholders[10]
title.text ="1.主な分析の結論"

# ボディコンテンツを追加する
content = slide1.placeholders[11]
ft = content.text_frame
ft.clear()
p = ft.paragraphs[0]
run = p.add_run()
run.text ='(1)年初に設定された運動目標は、平均して毎日歩くことです'

# ハイライトされたコンテンツ
run = p.add_run()
run.text ='10000ステップ'
font = run.font
font.name ='Arial'
font.size =Pt(26)
font.color.rgb =RGBColor(0,88,159)

# 他のコンテンツを追加し続ける
run = p.add_run()
run.text ='、9月の目標完了率'

# ハイライトされたコンテンツ
run = p.add_run()
run.text ='108.8%'
font = run.font
font.name ='Arial'
font.size =Pt(26)
font.color.rgb =RGBColor(0,88,159)

# 他のコンテンツを追加し続ける
run = p.add_run()
run.text ='''、タスクの目標を超えます。

(2)学習のさまざまな指標が改善されましたが、その中でノートの改善が最も明白です。9月末のノートの評価は'''

# ハイライトされたコンテンツ
run = p.add_run()
run.text ='A+'
font = run.font
font.name ='Arial'
font.size =Pt(26)
font.color.rgb =RGBColor(0,88,159)

# 他のコンテンツを追加し続ける
run = p.add_run()
run.text ='。'

# ***************2. 目標達成******************
# スライドを追加
slide_layout2 = prs.slide_layouts[3]
slide2 = prs.slides.add_slide(slide_layout2)
# ボディモジュールのタイトルを追加
title= slide2.placeholders[10]
title.text ="2.目標達成"
# 写真を挿入https://github.com/linjiwx/mp
img_path='./pic/2.目標達成.jpg'
picture_placeholder = slide2.placeholders[11]
placeholder_picture = picture_placeholder.insert_picture(img_path)
# 説明コンテンツを追加する
content= slide2.placeholders[12]
content.text =' '

# ***************3. キーインジケーターの変更******************
# スライドを追加
slide_layout3 = prs.slide_layouts[6]
slide3 = prs.slides.add_slide(slide_layout3)
# ボディモジュールのタイトルを追加
title= slide3.placeholders[10]
title.text ="3.キーインジケーターの変更"
# 画像オブジェクト、メイン画像を挿入します
img_path='./pic/3.キーインジケーターの変更.jpg'
picture_placeholder = slide3.placeholders[11]
placeholder_picture = picture_placeholder.insert_picture(img_path)
# 説明コンテンツを追加する
content= slide3.placeholders[12]
content.text ='''年初と比較して、
すべての指標が改善され、
その中で、ノートが最も改善されました、
9 月末のノートレーティングはAになります+。
'''

# ***************4. 変更理由分析******************
# スライドを追加
slide_layout4 = prs.slide_layouts[1]
slide4 = prs.slides.add_slide(slide_layout4)

# ボディモジュールのタイトルを追加
title= slide4.placeholders[10]
title.text ="4.変更理由分析"

# 説明コンテンツを追加する
content= slide4.placeholders[11]
content.text ='''
(1)仕事での朝のラッシュアワーをずらすために、私は通常、朝の7時前に会社に到着し、勉強とメモを書くための時間を増やします。

(2)OKR法の指導のもと、年初に、出力を使って強制的に入力し、26冊の本を注意深く読み、60本の記事をオリジナルで書くという目標を設定しました。
'''

# *************5. 提案された改善策*****************
slide_layout5 = prs.slide_layouts[1]
slide5 = prs.slides.add_slide(slide_layout5)

# ボディモジュールのタイトルを追加
title= slide5.placeholders[10]
title.text ="5.提案された改善策"

# コンテンツを追加する
content= slide5.placeholders[11]
content.text ='''
(1)運動と研究を続け、健康と能力レベルを改善し、完全な状態で仕事を始め、仕事の効率を継続的に改善し、利益よりはるかに大きな価値を生み出すことが推奨されます。

(2)知識の共有を強化し、他の人に教えることをお勧めします。自分で行うよりもはるかに困難ですが、共有のプロセスにより、より多くの利益を得ることができます。これは投資する価値のあることです。
'''

# ***************6. 裏表紙******************
# スライドを追加
slide_layout2 = prs.slide_layouts[3]
slide2 = prs.slides.add_slide(slide_layout2)
# ボディモジュールのタイトルを追加
title= slide2.placeholders[10]
title.text ='6.ご清聴ありがとうございました'
# 画像オブジェクト、メイン画像を挿入します
img_path='./pic/リンジ.png'
picture_placeholder = slide2.placeholders[11]
placeholder_picture = picture_placeholder.insert_picture(img_path)
# 説明コンテンツを追加する
content= slide2.placeholders[12]
content.text ='データを使用して問題を解決し、分析をより効果的にします。'

prs.save('2020年9月のLinJiのデータ分析レポート.pptx')print("レポートが生成されました。PPTファイルを開いて表示してください。")

自動生成されたPPTファイルを開くと、完全なデータ分析レポートの結果を確認できます。


Recommended Posts

Pythonでデータ分析レポートを自動的に生成する
Pythonデータ分析
Python3クローラーデータクリーニング分析
Pythonデータサイエンス:関連分析
ビッグデータ分析用のJavaまたはPython
02.Pythonデータタイプ
Pythonデータモデル
pythonデータ構造
Pythonデータ形式-CSV
ヘッダー付きのpythonrequests.get
Python(18)入門
Python(9)入門
PythonでWeChatを再生する
Pythonデータ分析-データ更新
Python(8)入門
Python(4)入門
PythonによるWebスクレイピング
Python線形補間分析
Python入門(2)
Pythonデータ分析-関数の適用
python-1入門
Pythonデータ分析-データ選択
Pythonの基本的なデータタイプ
Python(14)入門
Python(7)の使用を開始する
Python(17)入門
Python(15)入門
Pythonの基本的なデータタイプ
Python(10)入門
Python(11)入門
Python(6)入門
Python(3)入門
Python(12)入門
Python(5)入門
Python入門(18歳以上)
Pythonデータ分析-データ確立
Python(13)入門
Python(16)入門