【初心者向け】Pythonだけで作れる!Streamlit入門|インストールから基本操作・応用まで

Python

データを整理して、「ちょっと見る用のグラフやフォームを作りたいな…」そんなときに役立つのが Streamlit(ストリームリット) です。複雑な Web知識がなくても、Pythonだけでインタラクティブなアプリを作れるライブラリとして人気急上昇中。

この記事では、インストールから応用まで、初心者でも “なんとなく作ってみた” ができるように解説します。

この記事の対象

  • Streamlitについて知りたい方
  • Streamlitの基本的な操作方法を知りたい方
  • Streamlitで簡単にWebアプリを作成したい方
スポンサーリンク
スポンサーリンク

Streamlitとは?何ができる?

  • Pythonだけで、Webアプリ/データダッシュボード/フォームUIが作れるライブラリ。
  • HTMLやJavaScriptを書かずとも、すぐ動くものを作れる手軽さが魅力
  • ローカルでもクラウドでも動かせる

対応OS・インストール方法

OS手順
Windows, Mac, LinuxPython環境があれば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アプリやデータ可視化ができる
  • フォームやグラフ表示など応用も豊富 → プロトタイピングに最適です
タイトルとURLをコピーしました