簡體   English   中英

Python:如何從一個 excel 文件中循環遍歷多個工作表並將它們組合成一個 dataframe

[英]Python: How to loop through multiple sheets from one excel file and combine them into one dataframe

我有一個 excel 文件,它有多個共享一些列和行(所有數字數據)的工作表。 我發現了這個好問題,但並沒有真正回答我的問題, 將不同文件中的多個 excel 工作表導入 python 並將它們連接成一個 dataframe

我正在尋找一種方法來遍歷位於一個 excel 文件中的所有工作表,並通過對共享的列和行求和來將它們組合成一個表。

例如,一張紙:

  Subject   Modifier    Tech_A   Chart_A  Unknown_B  Tech_B
    A         Tech_A      1        4         1         2
    A         Chart_A     3        3         2         4
    B         Unknown_B   4        2         4         5
    B         Tech_B      5        1         3         3

另一張紙,

  Subject   Modifier    Tech_A  Chart_A  Unknown_A Unknown_B  Tech_B  Chart_B
    A         Tech_A      1        4         1         2        1       1
    A         Chart_A     3        3         2         4        3       2
    A         Unknown_A   1        2         5         3        3       4
    B         Unknown_B   4        2         4         5        5       3
    B         Tech_B      5        1         3         3        2       5
    B         Chart_B     1        1         2         4        2       0

合並的單個文件將合並所有數據並對相似的數據求和,

  Subject   Modifier    Tech_A  Chart_A  Unknown_A Unknown_B  Tech_B  Chart_B
    A         Tech_A      2        8         1         3        3       1
    A         Chart_A     6        6         2         6        7       2
    A         Unknown_A   1        2         5         3        3       4
    B         Unknown_B   8        4         4         9        10      3
    B         Tech_B      10       2         3         6        6       5
    B         Chart_B     1        1         2         4        2       0

如何在 python 中實現這一點?

提前致謝

嘗試這樣的事情:

df = pd.concat(pd.read_excel('2018_Sales_Total.xlsx', sheet_name=None), ignore_index=True)
df = df.groupby('Modifier').sum()

根據文檔,將sheet_name 指定為“無”,您將獲得所有工作表。

暫無
暫無

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

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