こんにちは、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を使うための基本的な書き方は次の通りです。
import streamlit as st
st.markdown("# これはタイトルです")
st.markdown("ここは通常のテキストです。**太字**や*斜体*も使えます。")実行すると、次のように表示されます:
#は大見出し(h1)**太字**で強調*斜体*で傍点風に
✅ 実行してみましょう!
以下のコードを streamlit_app.py などのファイルに保存し、Streamlitで起動して確認してみましょう。
streamlit run streamlit_app.py✨ Step 2: よく使うMarkdown表現まとめ
Streamlitでのレポート作成によく使うMarkdown表現を紹介します。
■ 見出し(#〜###)
st.markdown("# タイトル(H1)")
st.markdown("## サブタイトル(H2)")
st.markdown("### セクションタイトル(H3)")■ 強調(太字・斜体)
st.markdown("これは **重要な部分** です。")
st.markdown("これは *補足情報* です。")■ 箇条書き・番号付きリスト
st.markdown("""
- ポイント1
- ポイント2
""")
st.markdown("""
1. 手順1
2. 手順2
""")■ 表(テーブル)
st.markdown("""
| 項目 | 値 |
|--------|--------|
| 気温 | 25℃ |
| 湿度 | 60% |
""")■ 水平線や改行
st.markdown("---") # 水平線
st.markdown("1行目 \n2行目") # 改行は2つのスペース+改行🛠️ Step 3: Markdownで見やすいレポートUIを作ってみよう
それでは実際に、st.markdown を使って簡単なレポートを作ってみましょう。
📌 サンプルアプリ:売上分析レポート
import streamlit as st
st.title("売上分析レポート")
st.markdown("""
## 📊 概要
このレポートでは、2024年の売上データを分析しています。
## 🔍 主なポイント
- 売上は前年同期比で **+15%** 増加
- 特に第3四半期に大きな伸びを記録
- 地域別では関東エリアが最多の売上
## 🗂️ 地域別の詳細データ
| 地域 | 売上(万円) |
|--------|--------------|
| 関東 | 1,250 |
| 関西 | 980 |
| 中部 | 730 |
## 📝 結論
全体的に売上は好調であり、今後も現行施策を継続していく見込みです。
""")
✅ 解説:
st.title()でページ全体のタイトルを設定##見出しでセクションを分けて読みやすく- 箇条書きでポイントを整理
- テーブルでデータをコンパクトに表示
---でセクションを視覚的に区切る
💡 補足:HTMLも使える?(上級者向け)
st.markdown には unsafe_allow_html=True というオプションがあり、HTMLタグを直接記述して表示することも可能です。

ただし、HTMLの利用は安全性に注意が必要です。信頼できる内容のみで使いましょう。
✅ まとめ
st.markdownを使えば、見やすく整理されたレポートUIが簡単に作れる- Markdownの基本記法(見出し、リスト、表など)を使うだけで十分に実用的
- より視覚的にわかりやすいアプリを作るために、Markdown表現を活用しよう!
🔗 参考リンク
最後に書籍のPRです。
24年9月に出版された「ハイパーモダンPython-信頼性の高いワークフローを構築するモダンテクニック」、Claudio Jolowicz著、嶋田、鈴木訳。開発環境の構築、プロジェクトの管理、テストに関して実践的な内容でとても参考になる一冊です。Poetryについても詳しく説明されています。ぜひ手に取ってみてください。
最後まで読んでいただきありがとうございます。


コメント