웹페이지를 보면 sidebar로 메뉴가 나눠져 있는 웹페이지를 쉽게 찾아 볼수 있다.
단순히 보기 좋게 메뉴를 나눠 놓은것이 아닌 메뉴마다 함수를 호출 시켜 동작하기 때문에 코드가 자칫 길어 지는것을 방지 하는 효과가 까지 있다.
import streamlit as st
#다른 파일의 함수를 호출하고 싶으면, 함수를 임포트 한다.
from app_home import run_home_app
from app_eda import run_eda_app
from app_ml import run_ml_app
def main() :
st.title('파일 분리 앱')
#Exploratory Data Analysis
menu = ['Home','EDA','ML','About']
choice = st.sidebar.selectbox('메뉴',menu)
#home 함수 호출
if choice == 'Home' :
run_home_app()
#eda 함수 호출
elif choice == 'EDA':
run_eda_app()
#ml 함수 호출
elif choice == 'ML':
run_ml_app()
#about은 기타라 없음
elif choice == 'About':
pass
if __name__ == '__main__' :
main()
home함수
import streamlit as st
def run_home_app():
st.subheader('Home 화면')
st.text('홈화면에서 할 일을 여기에 코딩합니다.')
eda함수
import streamlit as st
import pandas as pd
def run_eda_app() :
st.subheader('EDA 화면')
df = pd.read_csv('streamlit_data/iris.csv')
st.dataframe(df)
st.dataframe(df.corr())
ml함수
import streamlit as st
def run_ml_app():
st.subheader('머신러닝 화면')
이런식으로 따로 작성된 함수를 side menu에서 부를수 있다.
반응형
'웹대시보드 개발' 카테고리의 다른 글
웹대시보드 개발(10) 스트림릿에서 차트 그리기(2) (0) | 2022.12.14 |
---|---|
웹대시보드 개발(9) 스트림릿에서 차트 그리기(1) (0) | 2022.12.14 |
웹대시 보드 개발(7) 스트림릿의 다양한 UI 함수(4) (0) | 2022.12.14 |
웹대시보드 개발(6) 스트림릿의 다양한 UI 함수(3) (0) | 2022.12.13 |
웹대시보드 개발(5) 스트림릿의 다양한 UI 함수(2) (0) | 2022.12.13 |