任务描述
本关任务: 超市销售数据如图所示 在xlscl/step3/rq文件夹下根据销售的日期建立不同的excel文件,
将同一类别的销售信息存放在excel文件的不同工作表中。 并建立类别统计工作表,显示该日各类别的合计金额的和,按合计金额的降序排列。
编程要求
根据提示,在右侧编辑器补充代码。 注意:由于文件名只能是字符形,所以需要将日期型数据转换为字符形 可以使用 str(日期时间数据).replace('-',"")[:8]
将日期时间的字符的-删除再取前8个字符 此外,文件需要保存再xlscl的step3文件夹下的rq文件夹下
测试说明
平台会对你编写的代码进行测试:
测试输入: 20000525 零食 预期输出: 商品编码 商品名称 合计金额 0 90101030095 \t康师傅苏打夹心香草巧克力饼干96g 4.5 1 90101030100 \t百力滋巧克力味50G 3.6 2 90101070032 \t糙米馆荞麦150g 6.9 3 90101090052 \t益民盐津杨梅180g 6.9 4 90101090054 \t益民精盐桃肉160g 6.9 5 90101090055 \t益民咸话梅110g 6.9 6 90101090057 \t益民多味山楂180g 6.9 7 90101090058 \t益达无糖口香糖蓝莓味13.5g 1.9 8 90102010035 \t黑塘麦芽饼500g 27.8 9 90103010048 \t渝业烧烤豆干80g 1.9 10 90103010053 \t金锣Q香香肠老汤味100g 2.1 类别 合计金额 0 酒 384.0 1 烟 344.5 2 零食 76.3 3 饮料 38.2 4 冷饮 22.0 5 奶制品 15.5 6 方便面 3.5 7 纸制品 2.1
测试输入: 20000530 烟 预期输出: 商品编码 商品名称 合计金额 0 90501000012 \t黄鹤楼(硬雅香) 40 1 90501000016 \t黄金叶(软大金圆) 20 2 90501000021 \t南京(红) 22 类别 合计金额 0 零食 115.1 1 烟 82.0 2 饮料 49.2 3 冷饮 22.5 4 奶制品 9.8 5 调料 7.7 6 纸制品 6.1 7 方便面 3.5
开始你的任务吧,祝你成功!
import pandas as pd
df=pd.read_excel("xlscl/step1/超市销售数据.xlsx",dtype={"商品编码":str,"商品条码":str})
#代码开始
dfx=df['日期'].unique()
for i in dfx:
wjm=str(i).replace("-","")[:8]
writer=pd.ExcelWriter("xlscl/step3/rq/"+wjm+".xlsx")
bj=df.loc[df['日期']==i,['类别','商品编码','商品条码','商品名称','商品金额','数量','合计金额']]
bjx=bj['类别'].unique()
for j in bjx:
dfjs=bj.loc[df['类别']==j,['商品编码','商品条码','商品名称','商品金额','数量','合计金额']]
dfjs.to_excel(writer,sheet_name=j,index=False)
df3=bj.groupby('类别')['合计金额'].sum()
df3.sort_values(ascending=False,inplace=True)
df3.to_excel(writer,sheet_name='类别统计',index_label='类别')
writer.save()
#代码结束