|  | 
 
 
 楼主|
发表于 2024-8-7 11:13:47
|
显示全部楼层 
| 我这个版本 可以实现目标  可是 感觉有些笨,能否帮忙优化一下
 import pandas as pd
 
 #导入数据
 dfa = pd.read_excel('feiyongzhuanhuan.xlsx')
 # 删除第一行数据,索引为 0
 dfa = dfa.drop(index=0).reset_index(drop=True)
 #删除1列2列5列
 dfa = dfa.drop(["费用摊销","门店","收入"],  axis=1)
 dfa["编码"] = dfa["编码"].astype(int)
 dfa.columns=["门店编码","门店名称","工资及奖金","物业租赁费","办公费","工资","办公"]
 #print(dfa)
 # 处理销售费用
 sales_data1 = {
 "费用类型": ["销售费用"] * len(dfa),
 "门店编码": dfa["门店编码"],
 "门店名称": dfa["门店名称"],
 "二级科目": ["工资及奖金"]*len(dfa),
 "金额":dfa["工资及奖金"]
 }
 sales_data2 = {
 "费用类型": ["销售费用"] * len(dfa),
 "门店编码": dfa["门店编码"],
 "门店名称": dfa["门店名称"],
 "二级科目": ["物业租赁费"]*len(dfa),
 "金额":dfa["物业租赁费"]
 }
 sales_data3 = {
 "费用类型": ["销售费用"] * len(dfa),
 "门店编码": dfa["门店编码"],
 "门店名称": dfa["门店名称"],
 "二级科目": ["办公费"]*len(dfa),
 "金额":dfa["办公费"]
 }
 sales_data4 = {
 "费用类型": ["管理费用"] * len(dfa),
 "门店编码": dfa["门店编码"],
 "门店名称": dfa["门店名称"],
 "二级科目": ["工资"]*len(dfa),
 "金额":dfa["工资"]
 }
 sales_data5 = {
 "费用类型": ["管理费用"] * len(dfa),
 "门店编码": dfa["门店编码"],
 "门店名称": dfa["门店名称"],
 "二级科目": ["办公"]*len(dfa),
 "金额":dfa["办公"]
 }
 new_df1 = pd.DataFrame(sales_data1)
 new_df2 = pd.DataFrame(sales_data2)
 new_df3 = pd.DataFrame(sales_data3)
 new_df4 = pd.DataFrame(sales_data4)
 new_df5 = pd.DataFrame(sales_data5)
 
 #print(new_df1)
 #print(new_df2)
 #print(new_df3)
 #print(new_df4)
 #print(new_df5)
 new_df_ov = pd.concat([new_df1,new_df2,new_df3,new_df4,new_df5], ignore_index=True)
 print(new_df_ov)
 print("game over")
 | 
 |