Streamlit 入门
Streamlit 可视化
API 整理
文件上传
st.file_uploader
区别于文件接口,该 API 返回的是字节字符串,即 b'???'
形式。这导致无法直接处理。
解决方案是在 Parser 类中加一层转换,同时进行乱码处理
1 | file = io.TextIOWrapper(raw_file, encoding='utf-8', errors='ignore') |
此时就可以使用 file.readlines()
等常用 API 进行处理了。
按钮
st.button(name)
点击事件可通过 if
触发
1 | if st.button(): |
复选框
st.checkbox
下拉框
st.selectbox
下拉框 (多选)
st.multiselect
e.g. 将表格首列条目作为备选列表
1 | df = pandas.read_excel() |
布局
Tabs
以标签分隔的多个多元素容器,使用 with
编辑。
1 | tab1. tab2 = st.tabs(['tag1', 'tag2']) |
在 with
块内仍使用 st
描述即可。
列布局
可指定分隔为数个列,并指定列宽比例。
1 | cols = st.columns([1, 2]) # 1:2 双列 |
e.g. 多行多列
1 | cols1 = st.columns([1, 1]) |
Container
st.container
可作为多种容器的子容器,如根容器 st
和列容器 col
,笔者用它与列容器联合,同时进行宽高控制
1 | col1, col2 = st.columns([1, 2]) # 宽度控制 |
Session
st.session_state
满昏!简单且用户友好的 Session 机制。当成字典用即可。
数据分析
展示列表
st.dataframe
直接 write
其实也行
功能
Streamlit 功能 API.
重运行
st.rerun
用于某些操作后刷新页面。
装饰器
e.g. Cache 装饰器,@st.cache_data
引用
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Miya's Blog!
评论