Streamlit使用笔记

前言

Streamlit特别适合需要在Web应用中快速展示数据或算法的项目, 比如 1. 数据分析、数据可视化或数据报告 2. 机器学习和人工智能应用

这是我实现的一个应用:

https://github.com/VKKKV/cypherpro

安装并创建

  1. 安装Streamlit:在终端或命令提示符中运行以下命令:

    1
    pip install streamlit
  2. 创建一个新的Python文件:在你的工作目录中创建一个新的Python文件,比如叫做app.py

  3. 编写Streamlit代码:在app.py文件中,写下以下代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import streamlit as st

    # 设置页面标题
    st.title('我的Streamlit应用')

    # 显示文本
    st.write('这是一个基本的Streamlit应用,用于展示文本和图像。')

    # 显示图像
    st.image('image.jpg', caption='Sunrise by the mountains')
  4. 运行

    1
    streamlit run app.py

分列

st.columns()用于在水平方向上分割页面布局,创建并排放置的多个元素。

1
2
3
4
5
6
7
8
9
10
# 分列
col1, col2, col3 = st.columns(3)
with col1:
st.write("这是第一列")

with col2:
st.write("这是第二列")

with col3:
st.write("这是第三列")

这段代码会在页面上创建三列,每列分别显示不同的文本。

分页

创建入口文件后,在pages目录中创建.py文件添加页面。

下面是多页应用的有效目录结构:

1
2
3
4
5
Home.py # This is the file you run with "streamlit run"
└─── pages/
└─── About.py # This is a page
└─── 2_Page_two.py # This is another page
└─── 3_😎_three.py # So is this

常用API

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 这是最通用的命令,用于在应用中显示文本、数据、图表等。
st.write()

# 用Markdown格式显示文本。
st.markdown()

# 创建一个文本输入框。
st.text_input()

# 创建一个按钮,当被点击时返回True。
st.button()

# 创建标题.
st.header()

# 创建一个文件上传控件。
st.file_uploader()

end

更多关于Streamlit API的信息,请参考

https://docs.streamlit.io/

https://cheat-sheet.streamlit.app/

第三方组件

https://streamlit.io/components