サイトアイコン アマチュア無線局JS2IIU

【Streamlit】Markdownでレポート作成アプリのUIを構築

こんにちは、JS2IIUです。
st.markdownはマークダウンをそのまま表示できる便利なメソッドです。具体的な活用例を紹介します。今回もよろしくお願いします。

✅ はじめに

Streamlitは、Pythonだけで簡単にWebアプリが作れる便利なフレームワークです。データ分析や機械学習の結果をレポートとして共有する場面でもよく使われています。

この記事では、Streamlitの st.markdown() を使って「見やすいレポート風のUI」を構築する方法を解説します。

🧾 そもそもMarkdownとは?

Markdown(マークダウン) とは、記号や記述ルールを使ってテキストを「装飾」できる軽量マークアップ言語です。例えば、以下のような記法で書くことで、簡単に見出しやリストなどを作成できます。

記法表示結果
# タイトルタイトル(大見出し)
**太字**太字
- 箇条書き・箇条書き

Streamlitの st.markdown() を使えば、このMarkdown記法をそのまま使って、整ったUIを構築できます。

🔰 Step 1: StreamlitとMarkdownの基本を確認

✅ st.markdown() の基本構文

StreamlitでMarkdownを使うための基本的な書き方は次の通りです。

Python
import streamlit as st

st.markdown("# これはタイトルです")
st.markdown("ここは通常のテキストです。**太字**や*斜体*も使えます。")

実行すると、次のように表示されます:

✅ 実行してみましょう!

以下のコードを streamlit_app.py などのファイルに保存し、Streamlitで起動して確認してみましょう。

Bash
streamlit run streamlit_app.py

✨ Step 2: よく使うMarkdown表現まとめ

Streamlitでのレポート作成によく使うMarkdown表現を紹介します。

■ 見出し(#〜###)

Python
st.markdown("# タイトル(H1)")
st.markdown("## サブタイトル(H2)")
st.markdown("### セクションタイトル(H3)")

■ 強調(太字・斜体)

Python
st.markdown("これは **重要な部分** です。")
st.markdown("これは *補足情報* です。")

■ 箇条書き・番号付きリスト

Python
st.markdown("""
- ポイント1
- ポイント2
""")

st.markdown("""
1. 手順1
2. 手順2
""")

■ 表(テーブル)

Python
st.markdown("""
| 項目   | 値     |
|--------|--------|
| 気温   | 25℃   |
| 湿度   | 60%   |
""")

■ 水平線や改行

Python
st.markdown("---")  # 水平線
st.markdown("1行目  \n2行目")  # 改行は2つのスペース+改行

🛠️ Step 3: Markdownで見やすいレポートUIを作ってみよう

それでは実際に、st.markdown を使って簡単なレポートを作ってみましょう。

📌 サンプルアプリ:売上分析レポート

Python
import streamlit as st

st.title("売上分析レポート")

st.markdown("""
## 📊 概要
このレポートでは、2024年の売上データを分析しています。




## 🔍 主なポイント

- 売上は前年同期比で **+15%** 増加
- 特に第3四半期に大きな伸びを記録
- 地域別では関東エリアが最多の売上




## 🗂️ 地域別の詳細データ

| 地域   | 売上(万円) |
|--------|--------------|
| 関東   | 1,250        |
| 関西   | 980          |
| 中部   | 730          |




## 📝 結論
全体的に売上は好調であり、今後も現行施策を継続していく見込みです。
""")

✅ 解説:

💡 補足:HTMLも使える?(上級者向け)

st.markdown には unsafe_allow_html=True というオプションがあり、HTMLタグを直接記述して表示することも可能です。

ただし、HTMLの利用は安全性に注意が必要です。信頼できる内容のみで使いましょう。

✅ まとめ

🔗 参考リンク

最後に書籍のPRです。
24年9月に出版された「ハイパーモダンPython-信頼性の高いワークフローを構築するモダンテクニック」、Claudio Jolowicz著、嶋田、鈴木訳。開発環境の構築、プロジェクトの管理、テストに関して実践的な内容でとても参考になる一冊です。Poetryについても詳しく説明されています。ぜひ手に取ってみてください。

最後まで読んでいただきありがとうございます。

モバイルバージョンを終了