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

Streamlit中st.selectbox默认选中首列问题排查求助

自定义Streamlit Selectbox默认选中列

你的代码里st.selectbox没有指定默认选中项,所以组件会自动选中列名列表的第一个元素。要设置自定义默认列,只需要给st.selectbox添加index参数,指定目标列在column_names中的位置即可。

修改后的代码示例:

import streamlit as st
import pandas as pd

csv_file = st.file_uploader("Upload a CSV file", type="csv")

if csv_file is not None:
    data = pd.read_csv(csv_file)
    column_names = data.columns.tolist()
    # 替换成你想要默认选中的列名
    target_default_column = "你的目标列名"
    # 获取目标列的索引,不存在则 fallback 到第一列
    default_index = column_names.index(target_default_column) if target_default_column in column_names else 0
    # 传入index参数设置默认选中项
    column_selection = st.selectbox("Select a Column (or Text Column)", column_names, index=default_index)
    for text in data[column_selection]:
        st.write(text)

关键说明

  • 把target_default_column替换成你实际想默认选中的列名称
  • 通过column_names.index()获取目标列在列表中的位置,同时做了容错处理:如果上传的CSV里没有该列,会自动选中第一列
  • st.selectbox的index参数接受整数类型,对应选项列表的下标(从0开始)

内容的提问来源于stack exchange,提问作者Bits

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 15:36:03