データを整理して、「ちょっと見る用のグラフやフォームを作りたいな…」そんなときに役立つのが Streamlit(ストリームリット) です。複雑な Web知識がなくても、Pythonだけでインタラクティブなアプリを作れるライブラリとして人気急上昇中。
この記事では、インストールから応用まで、初心者でも “なんとなく作ってみた” ができるように解説します。
この記事の対象
Streamlitとは?何ができる?
- Pythonだけで、Webアプリ/データダッシュボード/フォームUIが作れるライブラリ。
- HTMLやJavaScriptを書かずとも、すぐ動くものを作れる手軽さが魅力
- ローカルでもクラウドでも動かせる
対応OS・インストール方法
OS | 手順 |
---|---|
Windows, Mac, Linux | Python環境があればOK。ターミナル(またはコマンドプロンプト)で以下を実行:pip install streamlit |
実行確認 | streamlit hello を入力。対話型チュートリアルがブラウザで開けば成功! |
Windows環境にStreamlitをインストールするには、まずPythonのバージョン3.6以上が必要です。コマンドプロンプトまたはPowerShellを開き、以下のコマンドを実行します。
pip install streamlit
基本操作:最初のアプリを作ってみよう
コード例(my_app.py)
import streamlit as st
st.title("My First Streamlit App")
st.write("こんにちは!これはStreamlitの最初のアプリです。")
user_input = st.text_input("メッセージを入力してね", "Hello!")
st.write("あなたが入力したメッセージ:", user_input)
streamlit run my_app.py
結果

データ可視化:グラフや表を表示する方法
グラフ表示例
import pandas as pd
import streamlit as st
df = pd.DataFrame({"値": [10, 20, 30, 40]})
st.line_chart(df)
結果

サイドバーの活用例
import streamlit as st
#1---サイドバーにテキストを追加
st.sidebar.title('サイドバー')
st.sidebar.write('ここに補足情報やコントロールパネルを表示できます。')
サイドバーの作成は「*****.sidebar.*****」で可能です。
#1---サイドバーにテキストを追加
st.sidebar.title('サイドバー')
st.sidebar.write('ここに補足情報やコントロールパネルを表示できます。')
サイドバーの作成はタイトル、テキストともに「sidebar」を指定するだけです。
結果

便利機能:フォームやファイルアップロード、マップ描画
st.form
→ 複数入力 + 送信ボタンst.file_uploader
→ CSVなどをアップロードして読み込みst.map()
→ 緯度経度データから地図表示
フォーム作成例
import streamlit as st
st.title("フォーム入力サンプル")
# フォームの作成
with st.form(key="user_form"):
name = st.text_input("お名前を入力してください")
age = st.number_input("年齢を入力してください", min_value=0, max_value=120, step=1)
# 送信ボタン
submit_button = st.form_submit_button(label="送信")
# 送信後の処理
if submit_button:
if name and age:
st.success(f"こんにちは、{name}さん! 年齢は {age} 歳ですね。")
else:
st.warning("名前と年齢の両方を入力してください。")
結果

関連記事
まとめ
- インストールは簡単、
streamlit hello
ですぐ動く! - Pythonだけで手軽に Webアプリやデータ可視化ができる
- フォームやグラフ表示など応用も豊富 → プロトタイピングに最適です