{}const=>[]async()letfn</>var
Python開発

PythonからのHTMLレポート:シンプルで美しい

レポート、グラフ、自動化のために、スクリプトから HTML にデータを保存する方法を学びます。

К

Kodik

著者

2分で読める

Python スクリプトがデータを処理したり、エラーを記録したり、メトリクスをカウントしたりする場合、論理的な質問が発生します。 結果を保存するにはどうすればよいですか?
理想的な形式は HTML。美しく、柔軟性があり、どのブラウザでも開きます。さらに、その場で簡単に生成することができます。

この記事では、PythonでHTMLレポートをすばやく生成する方法を説明します。フレームワークや余計な魔法なしで、実用的なテクニックだけ💡

🧰 HTML レポートが必要な場合

  • CSV/Excelデータの処理後

  • グラフと表を表示するには

  • メトリクスを収集する場合(例:cronタスク)

  • エラーログ用に美しく処理されました

  • プロジェクトレポートの保存用

📊 HTMLの利点:

  • 視覚化しやすい

  • スタイルとグラフィックスをサポート

  • どのデバイスでも開くことができます

🔥 10万人以上の学生が参加中

理論を読むのに疲れた?
コーディングの時間だ!

Kodik — 実践でプログラミングを学ぶアプリ。AIメンター、インタラクティブなレッスン、実際のプロジェクト。

🤖 AI 24時間
🎓 修了証
💰 無料
🚀 始める
今日参加

🛠 HTMLの生成方法

方法

適合

🔹 手動の行の組み立て

単純なケース

🔹テンプレートエンジン(Jinja2)

柔軟なテンプレート

🔹 Pandas .to_html()

🔹ライブラリ(WeasyPrint、yattag)

高度なレイアウト

🧪 例1:手動で簡単なHTMLを作成する

html = """
<!DOCTYPE html>
<html>
<head><title>Report</title></head>
<Body>
 <h1> Sample report </ h1>
  <p>Total users: 25</p>
</body>
</html>
"""

with open("report.html", "w", encoding="utf-8") as f:
    f.write(html)

🧪 例2:表のPandas .to_html()

import pandas as pd

df = pd.DataFrame({
    "Name": ["Code", "Alice", "John"],
    "Points": [85, 90, 78]
})

html_table = df.to_html(index=False)

html = f"""
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <style>
    table {{ border-collapse: collapse; width: 50%; margin: 20px auto; }}
    th, td {{ border: 1px solid #ccc; padding: 8px; text-align: center; }}
    th {{ background-color: #f2f2f2; }}
  </style>
</head>
<body>
  <h2 style="text-align:center;"> Score table </h2>
  {html_table}
</body>
</html>
"""

with open("report.html", "w", encoding="utf-8") as f:
    f.write(html)

🧪 例 3: Jinja2 — データ付きテンプレート

from jinja2 import Environment, FileSystemLoader

data = {"users": [{"name": "Code", "score": 88}, {"name": "Lena", "score": 95}]}

env = Environment(loader=FileSystemLoader("templates"))
template = env.get_template("report.html")

html = template.render(users=data["users"])

with open("report.html", "w", encoding="utf-8") as f:
    f.write(html)

テンプレート templates/report.html:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Отчёт</title>
</head>
<body>
  <h1>Баллы пользователей</h1>
  <ul>
    {% for user in users %}
      <li>{{ user.name }} — {{ user.score }}</li>
    {% endfor %}
  </ul>
</body>
</html>

📦 グラフを追加する方法

matplotlibまたはplotlyを使用している場合は、グラフを画像として保存してレポートに挿入できます。

plt.savefig("chart.png")

html = """
<img src="chart.png" alt="График">
"""

💡 HTMLレポートが役立つ場所

  • 📊 チームの内部レポート

  • 🛠 DevOpsモニタリング(cron経由)

  • 💼 顧客への自動レポート

  • 📁 スクリプト結果のアーカイブ

🤖 PDFでもいいですか?

はい! WeasyPrintまたはpdfkitを使用してください。

pip install weasyprint
CODE_BLOCK_6__

アプリで コディック Python、HTMLなどのコースが見つかります。
テンプレートを作成し、データを視覚化し、すべてを美しく作成します。まだ始めたばかりでも大丈夫です。

私たちの Telegramコミュニティ 📬

💬 PDF生成、インタラクティブレポート、HTMLレポートの自動メール配信に関する記事をご覧になりたい場合は、お知らせください!

🎯先延ばしをやめよう

記事は気に入った?
実践の時間だ!

Kodikでは読むだけでなく、すぐにコードを書く。理論 + 実践 = 本当のスキル。

即座に実践
🧠AIがコードを説明
🏆修了証

登録不要 • カード不要