![874b2fe884e9a05185041f5def0a8bb4.png](https://img-blog.csdnimg.cn/img_convert/874b2fe884e9a05185041f5def0a8bb4.png)
![b3efdcbbefbb3709dc8830b6a648ecda.png](https://img-blog.csdnimg.cn/img_convert/b3efdcbbefbb3709dc8830b6a648ecda.png)
现在有一批电商产品跟当日销量的数据,如下,总共有上万笔的数据,现在需要统计每个品牌当日的销售量,比如美宝莲今天总共卖出了多少的商品,另外需要统计每个品牌下面的每个子品类当日销售量(品类可分为口红、睫毛膏、粉底等),比如卡姿兰口红卖了多少、眉笔卖了多少。
![95a469761081b71ea092cfa778c8c567.png](https://img-blog.csdnimg.cn/img_convert/95a469761081b71ea092cfa778c8c567.png)
首先是要做出关键字码表,如下,这些是透过电商常用的产品称呼和观察发现的,需要对商品名称有一定的了解,比如欧莱雅的洁面膏其实就是洗面奶
后面就是建立一个list,里面包含这些子品类,用这些关键字和品牌名称在商品列表逐一做匹配,比如商品里有“卡姿兰”又有“口红”的,再将符合的商品销售数量累加,输出至excel里,就可以完成统计,代码如下
import xlrdimport xlwtreadbook = xlrd.open_workbook(r'brand.xlsx')sheet = readbook.sheet_by_index(0)cols1=sheet.col_values(0)cols2=sheet.col_values(1)workbook = xlwt.Workbook(encoding='utf-8')worksheet = workbook.add_sheet('result')#建立子品类清单items = ['眉笔','口红','眉粉','眼线笔','睫毛膏','粉饼','唇彩','散粉','眼影','唇釉','腮红','BB霜','粉底液','卸妆水','隔离霜','面霜','香水']k = -1b = 0 #b是记录总数for item in items: a = 0 #a是某个子品类的数目 array = [] i = -1 k = k+1 for col in cols1: i = i + 1 if (item in col) and ('卡姿兰' in col): #商品名称里包含list里面的子品类和卡姿兰 array.append(i) for n in array: a = a+ cols2[n] print(item) print(a) b = b+a worksheet.write(k,0,item) worksheet.write(k,1,a)worksheet.write(k+1,0,'总数')worksheet.write(k+1,1,b)workbook.save('result.xls')
最后将输出的结果做图展示
![fd3c5634b7b8dccc2e28449e4d36e62e.png](https://img-blog.csdnimg.cn/img_convert/fd3c5634b7b8dccc2e28449e4d36e62e.png)
在一个项目中我们需要对用户的终端机器进行统计,可是接口传回的数据如下图,同样是IPhone却有上万种写法,除了IPhone外,其他的安卓手机像是华为、OPPO、VIVO、小米等都有类似的情况,现在需要将这些分散的数据识别出,并加以统计
流程为:
1、用关键字对表内的内容进行查找,将包含关键字的行记录。
2、将包含关键字行第二列的数据进行加成,并且统计
3、输出到新的文档里
首先我们需要先制作一个关键字码表,如下图,我们将4大安卓机外的安卓机合计到安卓里面
接着,用xlrd读取excel,用码表内的关键字跟第一列的数据进行匹配,符合匹配的将第二列的数字加总,最后用xlwt输出到excel文件里,实现代码如下:
import xlrdimport xlwtreadbook = xlrd.open_workbook(r'phone.xlsx')sheet = readbook.sheet_by_index(0)cols1=sheet.col_values(0)cols2=sheet.col_values(1