在st.dataframe或st.data_editor中配置时间列。
这是时间值的默认列类型。此命令需要在st.dataframe或st.data_editor的column_config参数中使用。当与st.data_editor一起使用时,将启用时间选择器小部件进行编辑。
| 函数签名[source] | |
|---|---|
st.column_config.TimeColumn(label=None, *, width=None, help=None, disabled=None, required=None, pinned=None, default=None, format=None, min_value=None, max_value=None, step=None) | |
| 参数 | |
标签 (str 或 None) | 显示在列顶部的标签。如果这是 None(默认),则使用列名。 |
宽度 ("small", "medium", "large", 或 None) | 列的显示宽度。如果这是 None(默认值),列将根据单元格内容自动调整大小。否则,可以是以下之一:
|
帮助 (str 或 None) | 一个可选的工具提示,当鼠标悬停在列标签上时会显示。如果这是 None(默认值),则不显示工具提示。 |
disabled (bool or None) | 是否应禁用此列的编辑。如果这是None (默认),Streamlit 将决定:索引被禁用,数据列 则不被禁用。 如果列具有混合类型,无论disabled如何,它都可能变得不可编辑。 |
required (bool or None) | 列中编辑的单元格是否需要有一个值。如果这是 False(默认),用户可以为此列提交空值。 如果这是True,则此列中编辑的单元格只能在其值不为None时提交, 并且只有在用户填写此列后才会提交新行。 |
pinned (bool or None) | 列是否被固定。被固定的列将始终显示在左侧,无论用户滚动到哪里。如果这是None(默认值),Streamlit 将决定:索引列被固定,数据列不被固定。 |
default (datetime.time or None) | 指定当用户添加新行时此列的默认值。默认为 None。 |
format (str 或 None) | 一个 momentJS 格式字符串,用于控制时间的显示方式。请参阅 momentJS 文档 获取 可用的格式。如果这是 None(默认值),则格式为 HH:mm:ss。 来自 column_config 的数字格式始终优先于 来自 pandas.Styler 的数字格式。 |
min_value (datetime.time or None) | 可以输入的最小时间。如果这是None(默认值),则没有最小值。 |
max_value (datetime.time or None) | 可以输入的最大时间。如果这是None(默认值),则没有最大值。 |
步长 (int, float, datetime.timedelta, 或 None) | 步进间隔,以秒为单位。如果这是 None(默认值),步长将为1秒。 |
示例
from datetime import time import pandas as pd import streamlit as st data_df = pd.DataFrame( { "appointment": [ time(12, 30), time(18, 0), time(9, 10), time(16, 25), ] } ) st.data_editor( data_df, column_config={ "appointment": st.column_config.TimeColumn( "Appointment", min_value=time(8, 0, 0), max_value=time(19, 0, 0), format="hh:mm a", step=60, ), }, hide_index=True, )
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。