
在 Python 中將多個 CSV 檔案合併到單一 DataFrame
此任務的目標是將多個 CSV 檔案從一個目錄匯入到單一 pandas DataFrame 中。以下是實現此操作的方法:
導入必要的庫
首先,導入文件處理和資料操作所需的庫:
1 2 3 | import pandas as pd
import glob
import os
|
登入後複製
讀取和連接CSV 檔案
要讀取並連接CSV文件,請依照下列步驟操作步驟:
-
取得檔案名稱:使用 glob.glob() 取得指定目錄下的 CSV 檔案名稱清單。
-
讀取檔案並建立 DataFrames: 將每個 CSV 檔案讀入 pandas DataFrame。
-
連接 DataFrame: 使用 pd.concat() 方法將所有 DataFrame 連接成一個 DataFrame。
連接程式碼
這是一個結合了這些的範例程式碼步驟:
1 2 3 4 5 6 7 8 9 10 | # Get file names
path = r "C:\DRO\DCL_rawdata_files"
filenames = glob . glob (os.path.join(path, "*.csv" ))
dfs = []
for filename in filenames:
dfs.append(pd.read_csv(filename, header=0))
# Concatenate data into one DataFrame
big_frame = pd.concat(dfs, ignore_index=True)
|
登入後複製
向DataFrame 添加身份
要區分不同CSV 檔案中的數據,您可以新增一個新欄位來識別每個檔案。以下是執行此操作的幾個選項:
選項 1:將檔案名稱新增為欄位
1 2 | for df in dfs:
df[ "file_name" ] = df.file_name.str.split( "\").str[-1].str.split(" .")[0]
|
登入後複製
選項2:將文件來源新增為列列
1 | df[ "Source" ] = np.repeat([f "File{i}" for i in range(len(dfs))], [len(df) for df in dfs])
|
登入後複製
結論
透過執行以下步驟,您可以在Python 中高效率地將多個CSV 檔案匯入到單一內聚的DataFrame 中,從而輕鬆分析和處理來自各種不同類型的資料來源。
以上是如何在 Python 中將多個 CSV 檔案合併到單一 Pandas DataFrame 中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!