使用 Python Pandas 合併多個 Excel 檔案中的資料


使用 Python Pandas 合併多個 Excel 檔案中的資料:簡介

隨著企業處理包含在多個 Excel 檔案中的海量資料,有效地合併和分析這些資料變得至關重要。Python 功能強大的 Pandas 資料處理庫提供了一種優雅的方法來合併來自多個檔案的 Excel 資料。本文將逐步指導您完成此過程,並解釋語法。我們還將探討完成這項工作的兩種不同方法,包括示例、可執行程式碼和結果。

來自多個檔案的 Excel 資料

將來自多個 Excel 檔案的資料組合或連線到單個數據集中,稱為合併 Excel 資料。這種合併使資料分析師、科學家和業務人士能夠進行徹底的分析並獲得有見地的資訊。合併來自多個來源的資料(例如銷售記錄、客戶資訊或財務資料)可以發現關係、識別趨勢並得出有價值的結論。

此外,合併 Excel 資料簡化了資料的清理和標準化,因為在合併過程中可以糾正任何不一致之處或缺失值。這確保了資料的完整性和準確性,為資料驅動的決策、戰略規劃和可操作的建議奠定了基礎,從而提高組織效率。最終,合併 Excel 資料使使用者能夠充分利用其資料資產,並從複雜的資料集中提取有價值的見解。

語法和解釋

為了使用 Python Pandas 合併 Excel 資料,我們將主要使用 `pandas.read_excel()` 函式讀取 Excel 檔案,以及 `pandas.concat()` 函式連線資料框。

使用 Pandas 讀取 Excel 檔案的語法如下:

import pandas as pd
df = pd.read_excel('file_path.xlsx')	

這裡 `pd` 用於引用 pandas 庫。`read_excel()` 函式從 `'file_path.xlsx'` 引數指定的 Excel 檔案中提取資料,並返回一個數據框 (df)。

使用 Pandas 連線多個數據框的語法如下:

combined_df = pd.concat([df1, df2, df3, ...])

`concat()` 函式接收一個數據框列表 ([df1, df2, df3,...]),並垂直連線這些資料框。最終資料框 `combined_df` 將包含來自輸入資料框的所有行。

演算法

  • 步驟 1 - 匯入 Pandas 和任何其他必要的庫。

  • 步驟 2 - 指定要合併的 Excel 檔案的檔案路徑。

  • 步驟 3 - 使用 `read_excel()` 函式開啟每個 Excel 檔案,並將資料框儲存在不同的變數中。

  • 步驟 4 - 使用 `concat()` 函式將資料框合併,並將它們作為列表傳遞。

  • 步驟 5 - 如果需要進一步分析,則將合併後的資料框匯出到新的 Excel 檔案。

方法

  • 方法 1 - 使用 For 迴圈合併 Excel 資料

  • 方法 2 - 使用列表推導式合併 Excel 資料

方法 1:使用 For 迴圈合併 Excel 資料

在方法 1 中,我們首先定義一個空列表 `dfs` 來儲存單個數據框。然後,使用 for 迴圈,我們透過迭代 `file_paths` 陣列,使用 `pd.read_excel()` 讀取每個 Excel 檔案。結果是一個數據框,將其新增到 `dfs` 列表中。最後,我們使用 `pd.concat()` 將 `dfs` 中的所有資料框合併到一個名為 `combined_df` 的單個數據框中。

假設我們有三個 Excel 檔案 (file1.xlsx、file2.xlsx 和 file3.xlsx),包含以下資料:

file1.xlsx
   ID  Name    Age
0   1   Tom     28
1   2   Emma    35
file2.xlsx
   ID   Name    Age
0   3   John    42
1   4   Sarah   31
file3.xlsx
   ID    Name   Age
0   5    Liam   29
1   6    Lily   27

示例

import pandas as pd

file_paths = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']

dfs = []  # To store individual dataframes

for file in file_paths:
   df = pd.read_excel(file)
   dfs.append(df)

combined_df = pd.concat(dfs)

輸出

   ID   Name    Age
0   1   Tom     28
1   2   Emma    35
0   3   John    42
1   4   Sarah   31
0   5   Liam    29
1   6   Lily    27

結果資料框垂直合併了每個檔案中的行。file1.xlsx 中資料的首行為 ID 1,姓名“Tom”,年齡 28 歲。第二行列出了 ID 2,“Emma”,年齡 35 歲。

然後,結果資料框用 file2.xlsx 中的資料補充。第三行包含 ID 3,“John”,年齡 42 歲。第四行包含 ID 4,姓名“Sarah”,年齡 31 歲。

然後新增 file3.xlsx 中的資料。第五行包含 ID 5,“Liam”,“29”和“Name”。第六行也是最後一行,ID 為 6,姓名為“Lily”,年齡 27 歲。

這將建立一個綜合資料集,可根據需要準備進行進一步分析、處理或匯出。因此,我們得到一個合併後的資料框,其中包含來自三個 Excel 檔案的所有行。

方法 2:使用列表推導式合併 Excel 資料

第二種方法使用列表推導式,這是一種簡潔而優雅的 Python 列表建立方法。在這裡,我們使用 `pd.read_excel(file)` 作為列表推導式中的表示式,直接從 `file_paths` 列表建立資料框列表。這種方法消除了顯式的 for 迴圈,從而使程式碼更緊湊。

假設我們有三個 Excel 檔案 (file1.xlsx、file2.xlsx 和 file3.xlsx),包含以下資料:

file1.xlsx
   ID  Name    Age
0   1   Tom     28
1   2   Emma    35
file2.xlsx
   ID   Name    Age
0   3   John    42
1   4   Sarah   31
file3.xlsx
   ID    Name   Age
0   5    Liam   29
1   6    Lily   27

示例

import pandas as pd

file_paths = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']

dfs = [pd.read_excel(file) for file in file_paths]

combined_df = pd.concat(dfs)

輸出

   ID   Name    Age
0   1   Tom     28
1   2   Emma    35
0   3   John    42
1   4   Sarah   31
0   5   Liam    29
1   6   Lily    27

方法 2 的輸出解釋與方法 1 相同,因為兩種方法都產生相同的輸出。

結論

使用 Python Pandas 合併來自多個來源的 Excel 資料,是一種強大且靈活的方法,用於組合和分析大型資料集。在本文中,我們研究了完成此操作的兩種不同方法,以及合併 Excel 資料的語法和分步說明。資料專業人員可以利用 Pandas 的功能有效地從複雜的資料集中提取有價值的見解,使他們能夠做出資料驅動的決策並促進業務成功。

更新於:2023年10月11日

瀏覽量:285

啟動您的職業生涯

完成課程獲得認證

開始
廣告