簡體   English   中英

在 pandas 中動態讀取多張表並存儲在不同的數據幀中

[英]Reading multiple sheets dynamically in pandas and store in different data frames

在此處輸入圖像描述

我想動態讀取 excel 文檔中的多張紙,並將它們動態存儲在 sheet1、sheet2、sheet3、sheet4、sheet5 等數據框中...代碼應該感知圖紙的數量並將它們動態存儲在具有給定命名條件的數據框中

使用包含下表兩次的 excel 工作簿,一次在 Sheet1 中,一次在 Sheet2 中:

  col1  col2
0    a     1
1    b     2
2    c     3 

您可以通過在調用pd.read_excel時將 sheet_name 設置為 None 來獲取包含每個 df 作為值的字典,並以 sheet_name 作為鍵

book = pd.read_excel(r"Data\Test_Book.xlsx", sheet_name= None)
book
Out: 
{'Sheet1':   
    col1  col2
 0    a     1
 1    b     2
 2    c     3,
 'Sheet2':   
    col1  col2
 0    a     1
 1    b     2
 2    c     3}

如果您不知道工作表的名稱,並且希望在閱讀工作表時更加靈活,也可以將路徑傳遞給pd.ExcelFile class。 它提供了 sheet_names 屬性,如下所示:

file = pd.ExcelFile(r"Data\Test_Book.xlsx")
file.sheet_names
Out: ['Sheet1', 'Sheet2']

然后調用pd.ExcelFile.parse等效於調用 read_excel 並且您可以簡單地將所需的 sheet_name 作為參數傳遞

file.parse("Sheet1")
Out: 
  col1  col2
0    a     1
1    b     2
2    c     3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM