sbsmapper / pages /chapter_index.py
georad's picture
Update pages/chapter_index.py
941ac43 verified
raw
history blame
2.16 kB
import streamlit as st
import pandas as pd
#for k, v in st.session_state.items():
# st.session_state[k] = v
#st.title("📘Map internal description to SBS codes V2.0")
st.subheader("Select specific Chapter for quicker results")
df_chapters = pd.read_csv("SBS_V2_0/Chapter_Index_Rows.csv")
startrowindex_list = df_chapters["from_row_index"].tolist()
endrowindex_list = df_chapters["to_row_index"].tolist()
allchapters_rows_list = []
for s, e in zip(startrowindex_list, endrowindex_list):
eachchapter_rows_list = list(range(s,e))
allchapters_rows_list.append(eachchapter_rows_list)
df_chapters['range_of_rows'] = allchapters_rows_list
def dataframe_with_selections(df_chapters: pd.DataFrame, init_value: bool = False) -> pd.DataFrame:
df_with_selections = df_chapters.copy()
df_with_selections.insert(0, "Select", init_value)
# Get dataframe row-selections from user with st.data_editor
edited_df = st.data_editor(
df_with_selections,
hide_index=True,
column_config={"Select": st.column_config.CheckboxColumn(required=True)},
disabled=df_chapters.columns,
)
# Filter the dataframe using the temporary column, then drop the column
selected_rows = edited_df[edited_df.Select]
return selected_rows.drop('Select', axis=1)
if "selected_chapters" not in st.session_state:
st.session_state['selected_chapters'] = []
st.session_state['selected_rows'] = []
selected_chapters_list = st.session_state.selected_chapters
selected_rows_list = st.session_state.selected_rows
selected_chapters = dataframe_with_selections(df_chapters)
st.write("Your selection:")
st.write(selected_chapters)
#selected_rows = dataframe_with_selections(df_chapters)
#st.write("Your selection:")
#st.write(selected_rows)
selected_chapters_list = selected_chapters.iloc[:,0].tolist()
#st.write("SELECTED CHAPTERS: ", selected_chapters_list)
selected_rows_list = selected_chapters.iloc[:,6].tolist()
#st.write("SELECTED ROWS: ", selected_rows_list)
if selected_chapters is not None:
st.session_state.selected_chapters = selected_chapters_list
st.session_state.selected_rows = selected_rows_list