(一)案例一介绍

现在有一匹电商产品跟当日销量的数据,如下,总共有上万笔的数据,现在需要统计每个品牌当日的销售量,比如美宝莲今天总共卖出了多少的商品,另外需要统计每个品牌下面的每个子品类当日销售量(品类可分为口红、睫毛膏、粉底等),比如卡姿兰口红卖了多少、眉笔卖了多少

首先是要做出关键字码表,如下,这些是透过电商常用的产品称呼和观察发现的,需要对商品名称有一定的了解,比如欧莱雅的洁面膏其实就是洗面奶,

后面就是建立一个list,里面包含这些子品类,用这些关键字和品牌名称在商品列表逐一做匹配,比如商品里有“卡姿兰”又有“口红”的,再将符合的商品销售数量累加,输出至excel里,就可以完成统计,代码如下

import xlrd
import xlwt
readbook = 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 = -1
b = 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')

最后将输出的结果做图展示

(二)案例二介绍

在一个项目中我们需要对用户的终端机器进行统计,可是接口传回的数据如下图,同样是IPhone却有上万种写法,除了IPhone外,其他的安卓手机像是华为、OPPO、VIVO、小米等都有类似的情况,现在需要将这些分散的数据识别出,并加以统计

流程为:

1、用关键字对表内的内容进行查找,将包含关键字的行记录。

2、将包含关键字行第二列的数据进行加成,并且统计

3、输出到新的文档里

首先我们需要先制作一个关键字码表,如下图,我们将4大安卓机外的安卓机合计到安卓里面

接着,用xlrd读取excel,用码表内的关键字跟第一列的数据进行匹配,符合匹配的将第二列的数字加总,最后用xlwt输出到excel文件里,实现代码如下

import xlrd
import xlwt
readbook = xlrd.open_workbook(r'phone.xlsx')
sheet = readbook.sheet_by_index(0)
cols1=sheet.col_values(0)
cols2=sheet.col_values(1)
i = -1
a = 0 #记录数目
array = []
keywords = ['iphone', 'iPhone', '苹果', 'Iphone', 'iOS']
for col in cols1:
i = i + 1
for word in keywords: #匹配清单内的关键字
if word in col:
array.append(i)
for n in array:
a = a+ cols2[n]
print(a)
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('test')
worksheet.write(1,1,a)
workbook.save('phone1.xls')

最后用EXCEL作图,就可以完成用户数据统计

Python 处理Excel内的数据(案例介绍*2)的更多相关文章

  1. 使用Python将Excel中的数据导入到MySQL

    使用Python将Excel中的数据导入到MySQL 工具 Python 2.7 xlrd MySQLdb 安装 Python 对于不同的系统安装方式不同,Windows平台有exe安装包,Ubunt ...

  2. Python的Excel操作及数据可视化

    Excel表操作 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd pip install xlrd 简单的表格读取 ...

  3. Python向excel中写入数据的方法 方法简单

    最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...

  4. 转载: pyExcelerator(Python操作Excel内库)API 文档

    1.pyExcelerator 主要通过俩个Object操作Excel: Workbook 和Worksheet2.pyExcelerator 读取Excel文件 parase_xls(filenam ...

  5. Python读取excel表的数据

    from openpyxl.reader.excel import load_workbook #读取xlsx文件def readExcelFile(path): dic={} #打开文件 file= ...

  6. Python读取Excel中的数据并导入到MySQL

    """ 功能:将Excel数据导入到MySQL数据库 """ import xlrd import MySQLdb # Open the w ...

  7. python中的内置函数getattr()介绍及示例

    在python的官方文档中:getattr()的解释如下: ? 1 2 3 getattr(object, name[, default])   Return the value of the nam ...

  8. python读取excel中的数据

    import numpy as np import matplotlib.pyplot as plt import pandas as pd #df = pd.read_excel('/Users/N ...

  9. python读取excel表格中的数据

    使用python语言实现Excel 表格中的数据读取,需要用到xlrd.py模块,实现程序如下: import xlrd #导入xlrd模块 class ExcelData(): def __init ...

随机推荐

  1. day2_python之字符编码

    一 .计算机基础知识 二.文本编辑器存取文件的原理(nodepad++,pycharm,word) #1.打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的, ...

  2. Oracle/PLSQL存储过程详解

    原文链接:https://blog.csdn.net/zezezuiaiya/article/details/79557621 Oracle/PLSQL存储过程详解 2018-03-14 17:31: ...

  3. log4js的简单配置

    js记录日志工具log4js,参数请参考官网文档https://log4js-node.github.io/log4js-node/index.html const log4js = require( ...

  4. H3C PPP基本配置

  5. H3C 端口隔离简介

  6. Vue中的computed和watch

    看了网上很多资料,对vue的computed讲解自己看的都不是很清晰,今天忙里抽闲,和同事们又闲聊起来,对computed这个属性才有了一个稍微比较清晰的认识,下面的文章有一部分是转自: https: ...

  7. jquery自己写的带左右箭头自动播放幻灯插件,简化

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. Linux 内核即插即用规范

    一些新 ISA 设备板遵循特殊的设计规范并且需要一个特别的初始化顺序, 对增加接口板 的简单安装和配置的扩展. 这些板的设计规范称为即插即用, 由一个麻烦的规则集组成, 来建立和配置无跳线的 ISA ...

  9. vue-learning:4-template-v-if-and-v-show

    控制元素可见性的指令 v-if 和 v-show v-if v-else v-else-if :多重判断 template :分组渲染包裹元素 key:管理可复用元素 v-show v-if与v-sh ...

  10. 关于opencv中cv::Mat设置roi

    opencv中设置roi实验: cv::Mat SrcImg; SrcImg = cv::imread("../resource/cpw3.png"); cv::imshow(&q ...