python的pandas库题1

任务描述

本关任务: 超市销售数据如图所示 在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()
#代码结束

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值