Streamlit
[Streanlit] 파일 분리 작업
eyoo
2022. 5. 20. 10:42
코드의 복잡도를 줄이기위해 파일을 분리해서 작업한다.
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())