File size: 2,608 Bytes
8e844df
8b893c4
8e844df
11bd726
 
 
fe8d957
4468aa8
01dd0c9
e400c34
eba6fc3
ea86cca
 
fa228ee
 
eba6fc3
fa228ee
823c904
eba6fc3
8cacd64
eba6fc3
 
fa228ee
a231d0f
fa228ee
3f56e92
823c904
37259df
2f6133f
 
8b893c4
 
 
 
 
 
 
1ba86d2
8b893c4
 
 
 
093c97f
8b893c4
dda69c9
5c68510
 
 
8ea4a62
8b893c4
cd0701a
bb2f5f9
b5c1d40
8822019
cc45ec8
eb086a7
bb2f5f9
 
 
bb8fcd0
d993188
f2657bd
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
56
57
58
59
60
61
62
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")
st.subheader("Demo currently limited to Chapter 20: Imaging services; (Work in progress)")
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()
#st.write("START num:", startrowindex_list)
#st.write("END num:", endrowindex_list)
#df_chapters['range_of_rows'] = df_chapters.apply(lambda row: list(range(row.min(), row.max()+1)), axis=1)
#df_chapters['range_of_rows'] = range((s for s in startrowindex_list), (e for e in endrowindex_list))
#df_chapters['range_of_rows'] = df_chapters.apply(lambda row: list(range((s for s in startrowindex_list), (e for e in endrowindex_list)), axis=1))
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)
#st.write("ALL CHAPTERS ROWS: ", allchapters_rows_list)
df['range_of_rows'] = allchapters_rows_list 
st.dataframe(df['range_of_rows'])



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'] = []
selected_chapters_list = st.session_state.selected_chapters

selected_chapters = dataframe_with_selections(df_chapters)
st.write("Your selection:")
st.write(selected_chapters)
selected_chapters_list = selected_chapters.iloc[:,:] #.tolist() 
st.write("SELECTED CHAPTERS: ", selected_chapters_list)
for item in selected_chapters_list.iloc[:,0]:
    #start_row = item[4], end_row = item[5]
    st.write("ZZZZZZZZZZZZZ: ", item)
#selected_rows_list = [row for rows in selected_chapters_list.iloc[;,;][4]]



if selected_chapters is not None:
    st.session_state.selected_chapters = selected_chapters_list