You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Streamlit data_editor中为指定列预设可选选项?

如何在Streamlit data_editor中为指定列预设可选选项?

当然可以实现啦!Streamlit的data_editor工具提供了非常灵活的列配置功能,刚好能满足你限制指定列输入选项的需求——只需要用到column_config参数,就能轻松给目标列加上下拉选择框,让用户只能从预设选项里挑选。

举个具体的例子,基于你给出的代码修改后,完整实现如下:

import streamlit as st
import pandas as pd

# 初始化你的空DataFrame
data = pd.DataFrame(columns=["Stock", "Option"])

# 定义列的自定义配置:给Option列设置下拉可选选项
custom_column_config = {
    "Option": st.column_config.SelectboxColumn(
        label="Option",
        options=["买入", "卖出", "持有"],  # 这里替换成你实际需要的选项列表
        help="请选择对应的操作类型",  # 可选:给用户的提示文字
        default="持有"  # 可选:设置新行的默认选中值
    )
}

# 渲染带自定义列配置的data_editor
request = st.data_editor(
    data,
    num_rows="dynamic",
    use_container_width=True,
    column_config=custom_column_config  # 应用我们的列配置
)

这样设置之后,用户在添加或编辑行时,Option列就会变成一个下拉选择框,只能从你指定的选项中选择,再也不能随意输入内容啦。

如果你需要给其他列也设置类似的限制,只需要在custom_column_config里添加对应的列配置就行,比如给Stock列也加下拉选项,只需要新增一个键值对,用同样的SelectboxColumn来配置即可。

备注:内容来源于stack exchange,提问作者r4bb1t

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 20:14:29