File size: 2,625 Bytes
8e844df
8b893c4
8e844df
11bd726
 
 
fe8d957
4468aa8
01dd0c9
e400c34
eba6fc3
ea86cca
 
fa228ee
 
eba6fc3
fa228ee
823c904
eba6fc3
8cacd64
eba6fc3
 
4efc936
37259df
2f6133f
 
8b893c4
 
 
 
 
 
 
1ba86d2
8b893c4
 
 
 
093c97f
8b893c4
dda69c9
5c68510
 
 
8ea4a62
8b893c4
cd0701a
6515087
33ee252
 
 
 
 
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
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)
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'] = []
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[:,0].tolist() 
st.write("SELECTED CHAPTERS: ", selected_chapters_list) 
selected_rows_list = selected_chapters.iloc[:,6].tolist() 
st.write("SELECTED ROWS: ", selected_rows_list) 

for item in selected_chapters_list[]:
    #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