1 回答

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
請檢查片段。
涉及的步驟
將列名稱創(chuàng)建為工作表名稱+銷售額
讀取Excel文件并轉(zhuǎn)換為DataFrame
如果數(shù)據(jù)框中存在Sales,則將值存儲(chǔ)在列表中。
合并 1 和 3 以創(chuàng)建工作表名稱和銷售值的鍵值對作為嵌套列表。
轉(zhuǎn)置嵌套列表并根據(jù)索引值轉(zhuǎn)換為數(shù)據(jù)幀
我的 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
"""
添加回答
舉報(bào)