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
"""
添加回答
举报