|

楼主 |
发表于 2023-2-24 17:30:35
|
显示全部楼层
- import pandas as pd
- # 读取“成本”和“产品”工作表
- df_cost = pd.read_excel('成本分析.xlsx', sheet_name='成本')
- df_product = pd.read_excel('成本分析.xlsx', sheet_name='产品')
- print(df_cost)
- # 将“成本”工作表中的数据,将列数据为行数据—— “宽变高”
- df_cost_melt = pd.melt(df_cost,id_vars=["产品型号"],
- value_vars=["成本A", "成本B", "成本C", "成本D", "成本E", "成本F"],
- var_name='成本类别',
- value_name ="成本单价"
- )
- print(df_cost_melt)
- # 将“产品”工作表和“成本”工作表合并,按照“产品型号”进行合并,得到每个订单对应的成本明细
- df_merged = pd.merge(df_product, df_cost_melt, on='产品型号', how='left')
- print(df_merged)
- # 将每个订单对应的成本明细和订单数量相乘,得到每个订单的总成本
- df_merged['成本金额'] = df_merged['生产数量'] * df_merged['成本单价']
- print(df_merged)
- # 整理汇总表的格式,输出到Excel文件中
- df_summary = df_merged[['产品型号', '订单编号', '生产数量', '成本类别', '成本单价', '成本金额']]
- df_summary.columns = ['产品型号', '订单编号', '生产数量', '成本类别', '成本单价', '成本金额']
- df_summary.to_excel('成本汇总表.xlsx', index=False)
复制代码 |
|