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)
|