以前把数据读出来并展示,可用st.table() 或 st.dataframe() 来展示,但是如果想在表格上来点花活,比如直接编辑,排序,查找之类的,还要写额外的代码。好在,streamlit的作者引入了AG Grid。AG Grid是一个功能齐全且高度可定制的JavaScript数据网格。它提供了出色的性能,不需要第三方依赖,并且可以与所有主要的JavaScript框架流畅地集成
1 安装
1 | $ pip install streamlit-aggrid |
2. 例子
1 | from st_aggrid import AgGrid |
执行 $ streamlit run example.py,就可看到表格了,这里只把excel数据读出来,做了展示,如果想进行编辑的话,则改动一下。
1 | from st_aggrid import AgGrid |
编辑可指示只编辑其中一列,一个单元等,需要设置
3 一些参数
AgGrid(datafram-格式数据,
gridOption—–操作说明,格式为字典格式
height=整数—–高度,默认为400
width=整数——宽度,2.0版己取消宽度设置
fit_columns_on_grid_load—–网格宽度的列宽自适应。默认为False。
update_mode—-定义了网格如何装结果发回给streamlit,必须是一个字符串。一个或以下的组合
data_return_mode—-定义如何从客户组件检索数据
DataReturnMode.AS_INPUT–>返回输入的网格数据
DataReturnMode.FILTERED—>返回过滤后的网格数据,包括单元版本
DataReturnMode.FILTERED_AND_SORTED—>返回过滤和排序的网格数据
allow_unsafe_jscode—-允许在gridOptions中注入javascropt 代码,默认不行
enable_enterprise_modules—加载Ag-Grid企业模块,默认不加载
license_key—-企业模块的许可证密钥,默认无
try_to_convert_back_to_original_types—-尝试转换原始数据类型,默认为真
reload_data—-强制AgGrid使用api调用重新加载的数据,默认为不
theme—Ag-Grid的主题, streamit—->默认streamlit主题 light——>ag-grid的balham-light主题, dark—->ag-grid的balham-黑色主题, blue, fresh, material,缺省为light主题
)