File size: 2,163 Bytes
8e844df
8b893c4
8e844df
941ac43
 
11bd726
e10e064
4468aa8
e400c34
eba6fc3
ea86cca
 
eba6fc3
8cacd64
eba6fc3
 
4efc936
37259df
2f6133f
 
8b893c4
 
 
 
 
 
 
1ba86d2
8b893c4
 
 
 
093c97f
8b893c4
dda69c9
5c68510
54dfa59
5c68510
54dfa59
5c68510
8ea4a62
8b893c4
e74e4bd
 
 
 
 
6515087
b96db4d
33ee252
b96db4d
33ee252
d993188
54dfa59
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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