【Python Webアプリ】機能、完全攻略!StreamlitでWebアプリ作成【Part1】

Python

概要

前回から引き続きStreamlitの解説をしてゆきます
今回はいよいよStreamlitのAPIについて解説します
具体的には、st.write、マジックコマンド、テキスト表示系のメソッド、データ表示系のメソッドについて解説します

↓Lesson 4にStreamlitの作り方が乗っています

楽天Kobo電子書籍ストア
¥2,420 (2025/03/20 01:49時点 | 楽天市場調べ)
\楽天ポイント4倍セール!/
楽天市場

st.write

最初に解説するのはst.writeです
引数に入力したデータに応じて適切な表示を行ってくれるメソッドなので非常に便利です
例えば

Markdownのフォーマットでの表示、データフレームの表示などが可能です

また、引数に複数のデータを入力することも可能です。データはそれぞれ異なった形式でも問題ありません
その他、チャートも表示可能です

マジックコマンド

次に紹介するのはマジックコマンドです
変数やデータのみを行に記載することでデータを表示することができます
また、マジックコマンドは設定ファイルで無効にすることもできます
設定ファイルの位置はC:\Users\<ユーザー名>\.streamlit\config.tomlです
この設定ファイルに画面のようにmagicEnabled = falseと記載することでマジックコマンドを無効にできます

テキスト表示系のメソッド

続いて、テキスト表示系のメソッドについて解説してゆきます
テキスト表示系のメソッドはst.markdown、st.title、st.header、st.subheader、st.caption、st.code、st.text、st.latex、st.divider
があります。これらを順に解説してゆきます

st.markdown

まずはst.markdownです
これはデータをマークダウン形式で表示できます

st.title

続いてst.titleです
これはデータをタイトル形式で表示できます

st.header

続いてst.headerです
これはデータをヘッダー形式で表示できます

st.subheader

st.subheaderはサブヘッダー形式で表示できます

st.caption

st.captionは小さいフォントで表示できます。図や票にたいする補足説明を付けるのに適しています

st.code

st.codeはソースコードを表示できます。対応しているプログラミング言語はこちらのURLに記載されています

st.text

st.textは単純に文字を表示します

st.latex

st.latexではlatexという数式を扱うフォーマットで文字を表示できます

st.divider

st.dividerは横線を引くことができます。画面を区切りたいときに便利です

データ表示系のメソッド

続いてはデータ表示系のメソッドについて解説します
データ表示系のメソッドはst.dataframe、st.data_editor、st.column_config、st.table、st.metric、st.jsonです
これらを順に解説してゆきます

st.dataframe

まずはst.dataframeです
これはインタラクティブなテーブルを作成します
st.dataframeの引数にデータフレームを入力すればインタラクティブなテーブルを表示できます
インタラクティブなテーブルでは
カラムのソート、カラムのサイズ変更、テーブルのサイズ変更、検索、コピーが可能です

またdf.styleを使用すればテーブルのスタイルを変更することもできます

st.data_editor

続いてはst.data_editorです
これを使えばテーブルのデータを編集することが可能になります
また、行を追加できるに設定することもできます。やり方はst.data_editorにnum_rows=”dynamic”を入力します

st.column_config

続いてst.column_configです
こちらはカラムに対して様々な設定を付与することができます
全部で14種類ありますが今回はそのうちの三つだけ紹介します。他のものも見てみたい人はこちらのURLをご参照ください

st.column_config.Column

まずはst.column_config.Columnです
これを使用すると、カラムに名前を付けることができるほか、
ツールチップの表示や特定のカラムのみ編集不可にすることができます

st.column_config.NumberColumn

続いてst.column_config.NumberColumnです
これを使用すると、入力される値の最小値や最大値を設定できるほか、フォーマットも指定できます

st.column_config.TextColumn

最後はst.column_config.TextColumnです
これを使用すると、入力される文字数を制限したり、正規表現を用いて入力値の妥当性を確認できます

st.table

続いてst.tableです
こちらは静的なテーブルを作成することができます。
先程のテーブルとは違い、カラムのサイズ変更や検索などができなくなっています

st.metric

続いてst.metricです
これは指標を表示するのに適しています

st.json

最後に紹介するのはst.jsonです
これはjsonを表示します
表示されたjsonでは表示を折りたたんだり、コピーをしたりできます

タイトルとURLをコピーしました