코드의 복잡도를 줄이기위해 파일을 분리해서 작업한다.
import streamlit as st
menu = ['Home', 'EDA','ML','About']
choice = st.sidebar.selectbox('메뉴',menu)
if choice == menu[0]: # 여기 들어갈 내용을 다른 파일로 만든다.
pass
elif choice == menu[1]:
pass
elif choice == menu[2]:
pass
elif choice == menu[3]:
pass
# 먼저 틀을 잡았다.
홈화면을 위한 코드를 작성한다.
in:
import streamlit as st
from PIL import Image
def run_home():
st.subheader('홈 화면 입니다.')
st.text('파일분리 실습중')
img = Image.open('data2/bird.jpg')
st.image(img)
out:

# 함수 단위로 만들어서 적용시켜야 한다.
EDA 화면을 위한 코드를 작성한다.
in:
import streamlit as st
import pandas as pd
def run_eda():
st.subheader('EDA 화면')
df = pd.read_csv('data2/iris.csv')
# 컬럼이름을 보여주고 여러 컬럼들을 선택 가능하게 하며 선택한 컬럼만 화면에 보여준다.
column_list = st.multiselect('컬럼 선택',df.columns)
if len(column_list) != 0:
st.dataframe(df[column_list])
# 상관계수를 구하여 화면에 보여준다.
st.dataframe(df[column_list].corr())
out:

작성된 코드의 함수를 메인파일에 임포트한다.
from app9_home import run_home
from app9_eda import run_eda
그 후 메인 파일의 if 함수에 따로 작성했던 함수들을 적용시킨다.
menu = ['Home', 'EDA','ML','About']
choice = st.sidebar.selectbox('메뉴',menu)
if choice == menu[0]: # 여기 들어갈 내용을 다른 파일로 만든다.
run_home()
elif choice == menu[1]:
run_eda()
elif choice == menu[2]:
run_ml()
elif choice == menu[3]:
run_about()
더보기
사용된 코드:
메인 파일:
import streamlit as st
from app9_home import run_home # 런홈 함수를 작성한 뒤 임포트해서 적용시킨다.
from app9_eda import run_eda
from app9_ml import run_ml
from app9_about import run_about
def main():
st.title('파일 분리 앱')
menu = ['Home', 'EDA','ML','About']
choice = st.sidebar.selectbox('메뉴',menu)
if choice == menu[0]: # 여기 들어갈 내용을 다른 파일로 만든다.
run_home()
elif choice == menu[1]:
run_eda()
elif choice == menu[2]:
run_ml()
elif choice == menu[3]:
run_about()
if __name__ == '__main__':
main()
홈 파일:
import streamlit as st
from PIL import Image
# 함수 단위로 만들어야 한다.
def run_home():
st.subheader('홈 화면 입니다.')
st.text('파일분리 실습중')
img = Image.open('data2/bird.jpg')
st.image(img)
EDA 파일
import streamlit as st
import pandas as pd
def run_eda():
st.subheader('EDA 화면')
df = pd.read_csv('data2/iris.csv')
# 컬럼이름을 보여주고 여러 컬럼들을 선택 가능하게 하며 선택한 컬럼만 화면에 보여준다.
column_list = st.multiselect('컬럼 선택',df.columns)
if len(column_list) != 0:
st.dataframe(df[column_list])
# 상관계수를 구하여 화면에 보여준다.
st.dataframe(df[column_list].corr())
'Streamlit' 카테고리의 다른 글
| [Streamlit] 반응형 차트 만들기 (0) | 2022.05.20 |
|---|---|
| [Streamlit] 차트 그리기 (0) | 2022.05.20 |
| [Streamlit] sidebar 메뉴, 파일 업로드 기능 (0) | 2022.05.19 |
| [Streamlit] 반응형 입력도구, 멀티미디어 삽입, 입력 받기: button, radio, checkbox, selectbox, multiselect, slider, expander, image, video, audio, text_input, number_input, date_input, time_input, color_picker (0) | 2022.05.19 |
| [Streamlit] 기본구조와 파일활용 (0) | 2022.05.19 |
댓글