Rozeeeee commited on
Commit
4db2d1d
·
verified ·
1 Parent(s): 38a9d25

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -11
app.py CHANGED
@@ -34,27 +34,23 @@ def beautify_chart(fig):
34
  def generate_plots(df, df_name, selected_columns, chart_type):
35
  selected_columns = list(selected_columns) # 確保是列表
36
 
37
- if not selected_columns:
38
- st.error("❌ 沒有選擇數據欄位,請至少選擇一個!")
39
- return
40
-
41
  if "公司名稱" not in df.columns:
42
  st.error("❌ 缺少 公司名稱 欄位,請確認數據格式!")
43
  return
44
 
45
  # **檢查選擇的列是否存在於 DataFrame 中**
46
- valid_columns = [col for col in selected_columns if col in df.columns]
 
 
 
47
 
48
- # **如果有缺失的列,顯示錯誤信息**
49
- missing_columns = set(selected_columns) - set(valid_columns)
50
- if missing_columns:
51
- st.error(f"❌ 缺少以下欄位,請確認數據格式!: {missing_columns}")
52
- return
53
 
54
  # ✅ **確保所有 y 軸數據與 x 軸 (公司名稱) 長度一致**
55
  df = df.dropna(subset=["公司名稱"] + valid_columns) # **移除 NaN 確保長度相同**
56
  df[valid_columns] = df[valid_columns].apply(pd.to_numeric, errors='coerce') # **轉換數據類型**
57
-
58
  if not valid_columns:
59
  st.error(f"❌ 選擇的欄位長度與 公司名稱 不匹配,請檢查數據!\n"
60
  f"📊 公司名稱 長度: {len(df['公司名稱'])}\n"
 
34
  def generate_plots(df, df_name, selected_columns, chart_type):
35
  selected_columns = list(selected_columns) # 確保是列表
36
 
37
+ # 檢查公司名稱
 
 
 
38
  if "公司名稱" not in df.columns:
39
  st.error("❌ 缺少 公司名稱 欄位,請確認數據格式!")
40
  return
41
 
42
  # **檢查選擇的列是否存在於 DataFrame 中**
43
+ missing_columns = [col for col in selected_columns if col not in df.columns]
44
+ for col in missing_columns:
45
+ st.warning(f"⚠️ 缺少欄位 {col},將創建默認值填充。")
46
+ df[col] = 0
47
 
48
+ valid_columns = [col for col in selected_columns if col in df.columns]
 
 
 
 
49
 
50
  # ✅ **確保所有 y 軸數據與 x 軸 (公司名稱) 長度一致**
51
  df = df.dropna(subset=["公司名稱"] + valid_columns) # **移除 NaN 確保長度相同**
52
  df[valid_columns] = df[valid_columns].apply(pd.to_numeric, errors='coerce') # **轉換數據類型**
53
+
54
  if not valid_columns:
55
  st.error(f"❌ 選擇的欄位長度與 公司名稱 不匹配,請檢查數據!\n"
56
  f"📊 公司名稱 長度: {len(df['公司名稱'])}\n"