上次教學了colab上傳檔案導入與將指定的表格欄位處理後輸出為csv檔[連結]
今天以兩個案例作範例,點擊下方文字可連接到官網自行下載,並上傳到colab
首先112.csv為[高雄市區取締件數]
另一個資料為 [臺北市政府警察局區間測速設備取締件數統計表]
導入完成,依循上次教學新增程式碼,記得若要使用在工作,檔案名稱改成自己上傳的檔名。
import pandas as pd
# 讀取 CSV 檔案
df = pd.read_csv('/content/112.csv')
df2 = pd.read_csv('/content/臺北市政府警察局區間測速設備取締件數統計表.csv')
# 顯示前幾筆數據
df.head()
會發現出問題!
怎麼解決呢?
問題1:首先箭頭指向8,表示第八行的問題造成程式錯誤。
問題2:中文編碼有許多格式例如cp950 big5 與上述的utf-8等,因此必須解決讀檔的問題,才能到下一步,該怎麼問呢?
對照剛剛的問題chatgpt其實又幫我們畫蛇添足了一下,encoding 用來處理不同文字元寫入與輸出,在df那個變數中,若沒出問題,也不一定需要補上。
結果還是出錯,那chatgpt也提到了有可能是big5嘗試過後,完成了。
df2 = pd.read_csv('/content/臺北市政府警察局區間測速設備取締件數統計表.csv', encoding='big5')
接續分別印出資料
df.head()
df2.head()
使用KHH作為高雄要取的變數名稱,取地點以及測照方向
使用TPE作為台北的變數名稱,取設置路段
df[]一個表示只讀取這個欄位
df[[,]]可以取df資料表的多個欄位
df_KHH=df[["地點","測照行向"]]
df_TPE=df2["設置路段"]
分別印出來看是否抓對行。
確認資料正確無誤最後合併起來
怎麼合併呢?
使用pd.concat做合併
通常需求會是左右合併,因為上下合併在公司就會是在同一個資料表下。
# 確保兩個資料列數一樣,不然 NaN 會補空
df_combined = pd.concat([df_KHH, df_TPE.rename("設置路段")], axis=1)
df_combined.head()
這邊to_excel前面記得修改為自己在最後合併的變數名稱df_combined
# 指定 Excel 檔案名稱
file_path = "/content/new_data.xlsx"
df_combined.to_excel(file_path, index=False)
#若出現亂碼請把上面註解變成下面
#df_combined.to_excel(file_path, index=False, encoding='utf-8-sig')
# 下載檔案到本地電腦
from google.colab import files
files.download(file_path)
import pandas as pd
# 讀取 CSV 檔案
df = pd.read_csv('/content/112.csv')
df2 = pd.read_csv('/content/臺北市政府警察局區間測速設備取締件數統計表.csv', encoding='big5')
# 讀取 Excel 檔案
# df = pd.read_excel('/content/你的檔案.xlsx')
# 顯示前幾筆數據
#df.head()
df2.head()
df_KHH=df[["地點","測照行向"]]
df_TPE=df2["設置路段"]
# 然後用 pd.concat 左右合併(axis=1)
df_combined = pd.concat([df_KHH, df_TPE], axis=1)
# 顯示前幾筆結果
df_combined.head()
# 指定 Excel 檔案名稱
file_path = "/content/new_data.xlsx"
df_combined.to_excel(file_path, index=False)
#若出現亂碼請把上面註解變成下面
#df_combined.to_excel(file_path, index=False, encoding='utf-8-sig')
# 下載檔案到本地電腦
from google.colab import files
files.download(file_path)