st.dataframest.data_editor中配置一个通用列。

列的类型将根据数据类型自动推断。 此命令需要在st.dataframest.data_editorcolumn_config参数中使用。

要更改列的类型并启用特定类型的配置选项,请使用st.column_config命名空间中的列类型之一,例如st.column_config.NumberColumn

函数签名[source]

st.column_config.Column(label=None, *, width=None, help=None, disabled=None, required=None, pinned=None)

参数

label (str or None)

显示在列顶部的标签。如果这是None(默认值),则使用列名。

宽度 ("small", "medium", "large", 或 None)

列的显示宽度。如果这是 None(默认值),列将根据单元格内容自动调整大小。否则,可以是以下之一:

  • "small": 75px 宽
  • "medium": 200px 宽
  • "large": 400px 宽

帮助 (str 或 None)

一个可选的工具提示,当悬停在列标签上时会显示。如果这是 None(默认值),则不显示工具提示。

disabled (bool or None)

是否应禁用此列的编辑。如果这是None (默认),Streamlit 将决定:索引被禁用,数据列 则不被禁用。

如果列具有混合类型,无论disabled如何,它都可能变得不可编辑。

required (bool or None)

列中编辑的单元格是否需要有一个值。如果这是 False(默认),用户可以为此列提交空值。 如果这是True,则此列中编辑的单元格只能在其值不为None时提交, 并且只有在用户填写此列后才会提交新行。

pinned (bool or None)

列是否被固定。被固定的列将始终显示在左侧,无论用户滚动到哪里。如果这是None(默认值),Streamlit 将决定:索引列被固定,数据列不被固定。

示例

import pandas as pd
import streamlit as st

data_df = pd.DataFrame(
    {
        "widgets": ["st.selectbox", "st.number_input", "st.text_area", "st.button"],
    }
)

st.data_editor(
    data_df,
    column_config={
        "widgets": st.column_config.Column(
            "Streamlit Widgets",
            help="Streamlit **widget** commands 🎈",
            width="medium",
            required=True,
        )
    },
    hide_index=True,
    num_rows="dynamic",
)
forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。