Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
38 |
-
st.error("❌ 沒有選擇數據欄位,請至少選擇一個!")
|
39 |
-
return
|
40 |
-
|
41 |
if "公司名稱" not in df.columns:
|
42 |
st.error("❌ 缺少 公司名稱 欄位,請確認數據格式!")
|
43 |
return
|
44 |
|
45 |
# **檢查選擇的列是否存在於 DataFrame 中**
|
46 |
-
|
|
|
|
|
|
|
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"
|