Rozeeeee commited on
Commit
6884f67
·
verified ·
1 Parent(s): 457ff1b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -6
app.py CHANGED
@@ -2,29 +2,35 @@ import streamlit as st
2
  import pandas as pd
3
  import numpy as np
4
  import requests
5
- import plotly.express as px
6
  import io
7
 
8
- # 設置全局主題
9
- theme = px.colors.qualitative.Bold
10
-
11
  # 下載 CSV 數據
12
  def download_and_load_csv(url):
13
  response = requests.get(url)
14
  response.encoding = 'utf-8'
15
  df = pd.read_csv(io.StringIO(response.text), encoding='utf-8')
 
 
 
16
  return df
17
 
18
  # 清理數據並合併
19
  def clean_and_merge_data(urls):
20
  dfs = [download_and_load_csv(url) for url in urls]
21
-
22
- # 合併所有數據
23
  combined_df = pd.concat(dfs, ignore_index=True)
24
 
25
  # 指定要清理的排放量欄位
26
  emission_columns = ["範疇一排放量(噸CO2e)", "範疇二排放量(噸CO2e)", "範疇三排放量(噸CO2e)"]
27
 
 
 
 
 
 
 
 
 
 
28
  # 只清理 emission_columns 內的 0 值,不影響其他欄位
29
  combined_df[emission_columns] = combined_df[emission_columns].replace(0, np.nan).dropna(subset=emission_columns)
30
 
 
2
  import pandas as pd
3
  import numpy as np
4
  import requests
 
5
  import io
6
 
 
 
 
7
  # 下載 CSV 數據
8
  def download_and_load_csv(url):
9
  response = requests.get(url)
10
  response.encoding = 'utf-8'
11
  df = pd.read_csv(io.StringIO(response.text), encoding='utf-8')
12
+
13
+ # 清理欄位名稱
14
+ df.columns = df.columns.str.strip().str.replace("\n", "").str.replace("\r", "")
15
  return df
16
 
17
  # 清理數據並合併
18
  def clean_and_merge_data(urls):
19
  dfs = [download_and_load_csv(url) for url in urls]
 
 
20
  combined_df = pd.concat(dfs, ignore_index=True)
21
 
22
  # 指定要清理的排放量欄位
23
  emission_columns = ["範疇一排放量(噸CO2e)", "範疇二排放量(噸CO2e)", "範疇三排放量(噸CO2e)"]
24
 
25
+ # 確保所有欄位名稱都乾淨
26
+ combined_df.columns = combined_df.columns.str.strip().str.replace("\n", "").str.replace("\r", "")
27
+
28
+ # 檢查是否有缺失欄位
29
+ missing_columns = [col for col in emission_columns if col not in combined_df.columns]
30
+ if missing_columns:
31
+ st.write(f"❌ 找不到這些欄位: {missing_columns}")
32
+ return combined_df # 直接返回原始數據,避免程式崩潰
33
+
34
  # 只清理 emission_columns 內的 0 值,不影響其他欄位
35
  combined_df[emission_columns] = combined_df[emission_columns].replace(0, np.nan).dropna(subset=emission_columns)
36