1 回答

TA貢獻1865條經驗 獲得超7個贊
請檢查片段。
涉及的步驟
將列名稱創建為工作表名稱+銷售額
讀取Excel文件并轉換為DataFrame
如果數據框中存在Sales,則將值存儲在列表中。
合并 1 和 3 以創建工作表名稱和銷售值的鍵值對作為嵌套列表。
轉置嵌套列表并根據索引值轉換為數據幀
我的 Excel 文件看起來像這樣
import pandas as pd
datadic = pd.read_excel('data.xlsx', sheet_name=None)
sheets=datadic.keys()
sheets=[i+"_"+'Sales' for i in sheets]
dictoframe=pd.Series(datadic).to_frame()
print(dictoframe.to_markdown())
"""
| | 0 |
|:--------|:---------------------|
| Apple | a b c Sales |
| | 0 1 2 3 4 |
| | 1 5 6 7 8 |
| Farm | d Sales e f |
| | 0 9 10 11 12 |
| | 1 13 14 15 16 |
| Kitchen | Sales g h i |
| | 0 17 18 19 20 |
| | 1 21 22 23 24 |
| Napkin | j k Sales l |
| | 0 25 26 27 28 |
| | 1 29 30 31 32 |
"""
listofsales=[i['Sales'].tolist() for i in dictoframe[0] if('Sales' in i)]
finaldic=dict(zip(sheets,listofsales))
df=pd.DataFrame.from_dict(finaldic,orient='index').transpose()
print(df)
"""
Apple_Sales Farm_Sales Kitchen_Sales Napkin_Sales
0 4 10 17 27
1 8 14 21 31
"""
添加回答
舉報