jonghhhh commited on
Commit
a9086cb
ยท
verified ยท
1 Parent(s): e6ecc3e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -15
app.py CHANGED
@@ -6,7 +6,8 @@ import os
6
  user_type = st.sidebar.selectbox("์‚ฌ์šฉ์ž ์œ ํ˜•์„ ์„ ํƒํ•˜์„ธ์š”:", ["ํ•™์ƒ ์‘๋‹ต", "์„ค๋ฌธ ์„ค์ •", "๊ฒฐ๊ณผ ํ™•์ธ"])
7
 
8
  # ์„ค๋ฌธ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ๊ฒฝ๋กœ
9
- file_path = "survey_data.csv"
 
10
 
11
  # ์„ค๋ฌธ ์„ค์ • ํŽ˜์ด์ง€ (๊ต์‚ฌ์šฉ)
12
  if user_type == "์„ค๋ฌธ ์„ค์ •":
@@ -23,7 +24,7 @@ if user_type == "์„ค๋ฌธ ์„ค์ •":
23
  'open_ended': [open_ended]
24
  }
25
  df = pd.DataFrame(data)
26
- df.to_csv(file_path, index=False)
27
  st.success("์„ค๋ฌธ์ด ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")
28
  else:
29
  st.error("๋ชจ๋“  ํ•„๋“œ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”.")
@@ -32,8 +33,8 @@ if user_type == "์„ค๋ฌธ ์„ค์ •":
32
  elif user_type == "ํ•™์ƒ ์‘๋‹ต":
33
  st.title("ํ•™์ƒ์šฉ ์„ค๋ฌธ ์‘๋‹ต")
34
 
35
- if os.path.exists(file_path):
36
- df = pd.read_csv(file_path)
37
  question = df['question'][0]
38
  options = df['options'][0].strip("[]").replace("'", "").split(", ")
39
  open_ended = df['open_ended'][0] == 'True'
@@ -46,12 +47,17 @@ elif user_type == "ํ•™์ƒ ์‘๋‹ต":
46
  open_answer = st.text_input("๊ธฐํƒ€ ์˜๊ฒฌ์„ ์ž…๋ ฅํ•˜์„ธ์š”:")
47
 
48
  if st.button("๋‹ต๋ณ€ ์ œ์ถœ"):
49
- if 'responses' not in st.session_state:
50
- st.session_state['responses'] = []
51
- st.session_state['responses'].append({
52
- '์„ ํƒ': selected_option,
53
- '์ฃผ๊ด€์‹': open_answer if open_ended else None
54
- })
 
 
 
 
 
55
  st.success("๋‹ต๋ณ€์ด ์ œ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!")
56
  else:
57
  st.warning("์„ค๋ฌธ์ด ์•„์ง ์„ค์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ต์‚ฌ์—๊ฒŒ ๋ฌธ์˜ํ•˜์„ธ์š”.")
@@ -60,8 +66,8 @@ elif user_type == "ํ•™์ƒ ์‘๋‹ต":
60
  elif user_type == "๊ฒฐ๊ณผ ํ™•์ธ":
61
  st.title("์„ค๋ฌธ ๊ฒฐ๊ณผ ํ™•์ธ")
62
 
63
- if 'responses' in st.session_state and st.session_state['responses']:
64
- df = pd.DataFrame(st.session_state['responses'])
65
 
66
  st.write("### ์„ ํƒํ˜• ๋‹ต๋ณ€ ๋ถ„ํฌ")
67
  st.bar_chart(df['์„ ํƒ'].value_counts())
@@ -70,6 +76,4 @@ elif user_type == "๊ฒฐ๊ณผ ํ™•์ธ":
70
  st.write("### ์ฃผ๊ด€์‹ ๋‹ต๋ณ€")
71
  st.table(df['์ฃผ๊ด€์‹'].dropna())
72
  else:
73
- st.warning("์•„์ง ์ œ์ถœ๋œ ๋‹ต๋ณ€์ด ์—†์Šต๋‹ˆ๋‹ค.")
74
-
75
-
 
6
  user_type = st.sidebar.selectbox("์‚ฌ์šฉ์ž ์œ ํ˜•์„ ์„ ํƒํ•˜์„ธ์š”:", ["ํ•™์ƒ ์‘๋‹ต", "์„ค๋ฌธ ์„ค์ •", "๊ฒฐ๊ณผ ํ™•์ธ"])
7
 
8
  # ์„ค๋ฌธ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ๊ฒฝ๋กœ
9
+ survey_file_path = "survey_data.csv"
10
+ responses_file_path = "responses_data.csv"
11
 
12
  # ์„ค๋ฌธ ์„ค์ • ํŽ˜์ด์ง€ (๊ต์‚ฌ์šฉ)
13
  if user_type == "์„ค๋ฌธ ์„ค์ •":
 
24
  'open_ended': [open_ended]
25
  }
26
  df = pd.DataFrame(data)
27
+ df.to_csv(survey_file_path, index=False)
28
  st.success("์„ค๋ฌธ์ด ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")
29
  else:
30
  st.error("๋ชจ๋“  ํ•„๋“œ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”.")
 
33
  elif user_type == "ํ•™์ƒ ์‘๋‹ต":
34
  st.title("ํ•™์ƒ์šฉ ์„ค๋ฌธ ์‘๋‹ต")
35
 
36
+ if os.path.exists(survey_file_path):
37
+ df = pd.read_csv(survey_file_path)
38
  question = df['question'][0]
39
  options = df['options'][0].strip("[]").replace("'", "").split(", ")
40
  open_ended = df['open_ended'][0] == 'True'
 
47
  open_answer = st.text_input("๊ธฐํƒ€ ์˜๊ฒฌ์„ ์ž…๋ ฅํ•˜์„ธ์š”:")
48
 
49
  if st.button("๋‹ต๋ณ€ ์ œ์ถœ"):
50
+ response_data = {
51
+ '์„ ํƒ': [selected_option],
52
+ '์ฃผ๊ด€์‹': [open_answer if open_ended else '']
53
+ }
54
+ response_df = pd.DataFrame(response_data)
55
+
56
+ if os.path.exists(responses_file_path):
57
+ response_df.to_csv(responses_file_path, mode='a', header=False, index=False)
58
+ else:
59
+ response_df.to_csv(responses_file_path, index=False)
60
+
61
  st.success("๋‹ต๋ณ€์ด ์ œ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!")
62
  else:
63
  st.warning("์„ค๋ฌธ์ด ์•„์ง ์„ค์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ต์‚ฌ์—๊ฒŒ ๋ฌธ์˜ํ•˜์„ธ์š”.")
 
66
  elif user_type == "๊ฒฐ๊ณผ ํ™•์ธ":
67
  st.title("์„ค๋ฌธ ๊ฒฐ๊ณผ ํ™•์ธ")
68
 
69
+ if os.path.exists(responses_file_path):
70
+ df = pd.read_csv(responses_file_path)
71
 
72
  st.write("### ์„ ํƒํ˜• ๋‹ต๋ณ€ ๋ถ„ํฌ")
73
  st.bar_chart(df['์„ ํƒ'].value_counts())
 
76
  st.write("### ์ฃผ๊ด€์‹ ๋‹ต๋ณ€")
77
  st.table(df['์ฃผ๊ด€์‹'].dropna())
78
  else:
79
+ st.warning("์•„์ง ์ œ์ถœ๋œ ๋‹ต๋ณ€์ด ์—†์Šต๋‹ˆ๋‹ค.")