如何用Python匯入大批Excel檔案

更新於 發佈於 閱讀時間約 2 分鐘

首先,假設我們要匯入大批Excel檔案,我們可以先將他們都放在一個資料夾中。

例如,我從保險業公開資料庫下載了52個csv檔,先把它們放在一個資料夾如下。

raw-image



接著,我們可以載入套件pandas與os:

import pandas as pd
import os

接下來我們先建立檔案資料夾的位置的變數如下:

filePath = "C:/Users/domin/OneDrive/桌面/方格子/Python資料處理專欄/壽險財務業務指標_截至民國112年度第3季/"

再來,用os中的listdir建立指定資料夾內所有檔案名稱(含副檔名)之列表:

fileList = os.listdir(filePath)
raw-image





接下來我們要將所有檔案都匯入Python中並各自成為一個DataFrame變數,所以我們要用迴圈的方法,將這些檔案一個一個匯入。

但因為這些檔案長相如下,可以看到檔案中各欄的上方都有我們不需要的資訊,所以在匯入這些csv檔時,要將最上方不要的橫列忽略。

raw-image

最再將這些變數放入同一個List當中,這樣就方便我們用pandas的concat功能將這些檔案串起來。

所以,首先我們先寫一個List變數DataList用來裝等一下要放入的DataFrame變數。

DataList = []

接下來我們來寫迴圈,將檔案一個一個匯入,但同時要調整匯入的格式。

for i,n in zip(fileList,range(0,len(fileList))):    
globals()["D"+str(n)] = pd.DataFrame(pd.read_csv(f"{filePath}{i}",header=2))
DataList.append(globals()["D"+str(n)])

最後,我們用pandas的concat功能,將存在變數DataList中的這些DataFrame通通縱向的合併起來成為一個DataFrame。

在合併時,因為這些DataFrame都各自有原來的index,為了讓合併後的index能重新排序,所以可以讓ignore_index=True,這樣能忽視原有的index以重新排序index了。

DataFinal =pd.concat(DataList,ignore_index=True)













留言
avatar-img
留言分享你的想法!
avatar-img
果農的沙龍
7會員
61內容數
我是果農,這裡有我的人資職涯經驗分享,與我菜鳥般的Python資料分析筆記,還有一些讀書心得,希望對大家有幫助。
果農的沙龍的其他內容
2024/08/30
如何用Python做可調整是否能重複抽獎的程式
Thumbnail
2024/08/30
如何用Python做可調整是否能重複抽獎的程式
Thumbnail
2024/08/23
如何用Python繪製彩色表格
Thumbnail
2024/08/23
如何用Python繪製彩色表格
Thumbnail
2024/08/23
如何調整成Python的日期格式
Thumbnail
2024/08/23
如何調整成Python的日期格式
Thumbnail
看更多
你可能也想看
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
介紹如何用assign函數在Python中建立新欄位
Thumbnail
介紹如何用assign函數在Python中建立新欄位
Thumbnail
如何用Python將DataFrame中的資料擷取維新的DataFrame?
Thumbnail
如何用Python將DataFrame中的資料擷取維新的DataFrame?
Thumbnail
本文介紹如何用Python繪製散布圖與迴歸線
Thumbnail
本文介紹如何用Python繪製散布圖與迴歸線
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News