如何将多个 excel/csv 工作表中的数据加载并馈送到 mutliselect 函数中? - 流光
How can I load and feed data from multiple excel/csv sheets into the mutliselect function? - Streamlit
上下文
在我的网络应用程序中,我希望我的用户 select 不同的数据类别,并且在 selecting 这个数据类别时,它会将数据从其各自的 csv 加载到 mutliselect 函数。下面演示了这一点:
例子
因此,在社会和经济的 selection 上,从它们单独的 excel 工作表中加载各自的 data/columns。虽然我不知道如何做到这一点。
我最初尝试了一个 for 循环,但它最终创建了许多不同的 multiselect 列。但这不是我想要的。如果我单击经济并且如果我 select 同时加载两个数据集的“社会”和“经济”,我只希望能够从“经济”加载数据。它们存储在不同的 excel 工作表中。
我现在的代码:
if choose_theme_category == 'Country specific':
st.write("Choose data unique to a country for this theme.")
Country_choice = st.beta_columns(3)
countries = ['','United Kingdom', 'Ireland', 'Germany']
Country = Country_choice[0].selectbox("Country", countries)
if Country == 'United Kingdom':
# Category of data
Category = st.beta_columns(4)
Data_category = Category[0].checkbox("Social")
Data_category1 = Category[1].checkbox("Economy")
Data_category2 = Category[2].checkbox("Environment")
Data_category3 = Category[3].checkbox("Health")
Data_category4 = Category[0].checkbox("Policy")
# categories = [Data_category,Data_category1,Data_category2,Data_category3,Data_category4]
data_mix_buttons = st.beta_columns([3,1,1])
# confirmation_data = data_mix_buttons[0].button("Show Data")
Hide_data = data_mix_buttons[2].checkbox("Hide Data")
# if hide data is not pressed, then show data
if not Hide_data:
# for every selection chosen, add data from their respective excel sheets
if Data_category:
Select_data = st.multiselect("Choose columns", options=COVID_19_cols,key=1)
Social_data = COVID_19_data[Select_data]
if not Select_data:
st.error("Please select at least one column.")
else:
st.write(Social_data)
这可能吗?有什么建议吗?
解决方案在 streamlit 讨论网站中有详细说明here。
上下文
在我的网络应用程序中,我希望我的用户 select 不同的数据类别,并且在 selecting 这个数据类别时,它会将数据从其各自的 csv 加载到 mutliselect 函数。下面演示了这一点:
例子
因此,在社会和经济的 selection 上,从它们单独的 excel 工作表中加载各自的 data/columns。虽然我不知道如何做到这一点。
我最初尝试了一个 for 循环,但它最终创建了许多不同的 multiselect 列。但这不是我想要的。如果我单击经济并且如果我 select 同时加载两个数据集的“社会”和“经济”,我只希望能够从“经济”加载数据。它们存储在不同的 excel 工作表中。
我现在的代码:
if choose_theme_category == 'Country specific':
st.write("Choose data unique to a country for this theme.")
Country_choice = st.beta_columns(3)
countries = ['','United Kingdom', 'Ireland', 'Germany']
Country = Country_choice[0].selectbox("Country", countries)
if Country == 'United Kingdom':
# Category of data
Category = st.beta_columns(4)
Data_category = Category[0].checkbox("Social")
Data_category1 = Category[1].checkbox("Economy")
Data_category2 = Category[2].checkbox("Environment")
Data_category3 = Category[3].checkbox("Health")
Data_category4 = Category[0].checkbox("Policy")
# categories = [Data_category,Data_category1,Data_category2,Data_category3,Data_category4]
data_mix_buttons = st.beta_columns([3,1,1])
# confirmation_data = data_mix_buttons[0].button("Show Data")
Hide_data = data_mix_buttons[2].checkbox("Hide Data")
# if hide data is not pressed, then show data
if not Hide_data:
# for every selection chosen, add data from their respective excel sheets
if Data_category:
Select_data = st.multiselect("Choose columns", options=COVID_19_cols,key=1)
Social_data = COVID_19_data[Select_data]
if not Select_data:
st.error("Please select at least one column.")
else:
st.write(Social_data)
这可能吗?有什么建议吗?
解决方案在 streamlit 讨论网站中有详细说明here。