Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -38,9 +38,17 @@ def manage_session_state():
|
|
| 38 |
if 'filtered_data' not in st.session_state:
|
| 39 |
st.session_state.filtered_data = None
|
| 40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
# 데이터 로드
|
| 42 |
@st.cache_data
|
| 43 |
def load_data(file):
|
|
|
|
| 44 |
file_extension = file.name.split('.')[-1].lower()
|
| 45 |
if file_extension == 'csv':
|
| 46 |
data = pd.read_csv(file)
|
|
@@ -208,12 +216,21 @@ def main():
|
|
| 208 |
manage_session_state()
|
| 209 |
|
| 210 |
if st.session_state.data is None:
|
| 211 |
-
data_input_method = st.radio("데이터 입력 방법 선택:", ("파일 업로드", "수동 입력"), key="data_input_method")
|
| 212 |
|
| 213 |
if data_input_method == "파일 업로드":
|
| 214 |
uploaded_file = st.file_uploader("CSV, XLS, 또는 XLSX 파일을 선택하세요", type=["csv", "xls", "xlsx"], key="file_uploader")
|
| 215 |
if uploaded_file is not None:
|
| 216 |
st.session_state.data = load_data(uploaded_file)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 217 |
else:
|
| 218 |
st.session_state.data = manual_data_entry()
|
| 219 |
|
|
|
|
| 38 |
if 'filtered_data' not in st.session_state:
|
| 39 |
st.session_state.filtered_data = None
|
| 40 |
|
| 41 |
+
|
| 42 |
+
SAMPLE_DATA_FILES = [
|
| 43 |
+
{"name": "과목별 노력과 성취도", "file": "subject.xlsx"},
|
| 44 |
+
{"name": "채점", "file": "score.xlsx"},
|
| 45 |
+
{"name": "출석일수와 성적", "file": "attendance.xlsx"}
|
| 46 |
+
]
|
| 47 |
+
|
| 48 |
# 데이터 로드
|
| 49 |
@st.cache_data
|
| 50 |
def load_data(file):
|
| 51 |
+
file_path = os.path.join("sample_data", file_name)
|
| 52 |
file_extension = file.name.split('.')[-1].lower()
|
| 53 |
if file_extension == 'csv':
|
| 54 |
data = pd.read_csv(file)
|
|
|
|
| 216 |
manage_session_state()
|
| 217 |
|
| 218 |
if st.session_state.data is None:
|
| 219 |
+
data_input_method = st.radio("데이터 입력 방법 선택:", ("파일 업로드", "예시 데이터 사용", "수동 입력"), key="data_input_method")
|
| 220 |
|
| 221 |
if data_input_method == "파일 업로드":
|
| 222 |
uploaded_file = st.file_uploader("CSV, XLS, 또는 XLSX 파일을 선택하세요", type=["csv", "xls", "xlsx"], key="file_uploader")
|
| 223 |
if uploaded_file is not None:
|
| 224 |
st.session_state.data = load_data(uploaded_file)
|
| 225 |
+
elif data_input_method == "예시 데이터 사용":
|
| 226 |
+
sample_choice = st.selectbox(
|
| 227 |
+
"예시 데이터 선택",
|
| 228 |
+
options=[sample["name"] for sample in SAMPLE_DATA_FILES],
|
| 229 |
+
format_func=lambda x: x
|
| 230 |
+
)
|
| 231 |
+
if st.button("선택한 예시 데이터 로드"):
|
| 232 |
+
selected_file = next(sample["file"] for sample in SAMPLE_DATA_FILES if sample["name"] == sample_choice)
|
| 233 |
+
st.session_state.data = load_sample_data(selected_file)
|
| 234 |
else:
|
| 235 |
st.session_state.data = manual_data_entry()
|
| 236 |
|