【发布时间】:2021-12-09 08:44:26
【问题描述】:
我想检查用户输入是数字还是字符串。
问题在于 if 语句总是将用户输入作为字符串,即使输入是数字,默认情况下它会转换为字符串。
如何解决这个问题?
all_columns = df.columns.tolist()
st_input_update = st.number_input if is_numeric_dtype(all_columns) else st.text_input
with col1_search:
regular_search_term=st_input_update("Enter Search Term")
【问题讨论】:
-
你试过
int(st_input_update("Enter Search Term"))吗? -
df.columns.tolist()返回一个列表,是吗?那么,为什么is_numeric_dtype应该是一个列表呢?也许您想检查列表中的所有元素是否都是数字? -
我认为我的逻辑是错误的,因为我想要检查用户输入是数字还是字符串
-
然后您可以使用
st.text_input并尝试排除ValueError,如下面的答案所示。 -
@OneCricketeer 我试过没用
标签: python if-statement streamlit