python正则提取CSV文件数据计算导购客单价.py,,'''python正则提
文章由Byrx.net分享于2019-03-23 06:03:44
python正则提取CSV文件数据计算导购客单价.py,,'''python正则提
'''python正则提取CSV文件数据计算导购客单价.py题目来源 https://github.com/FGFW/FCNNIC依山居 4:36 2015/11/22看了看python自带的csv库貌似也没能解决啥问题,干脆就自己用正则来写了代码量出乎意料的少.在线查本csv表格 http://t.cn/RU3hoB0下载csv表格 http://t.cn/RU3haTL计算公式为:导购日客单价=导购日成交金额/日客单数每个相同的单据编号为1单,也就是去重后得到该导购的日客单数导购日成交金额=导购完成的日所有单总和,也可以小计中倒数第二列直接提取要求:计算出CSV表格中每位导购的客单价.思路是正则匹配(导购)小计得到导购名字,顺便把该导购成交金额提取了。然后再集合解析正则匹配该导购所有单并去重,一条语句得到日客单数。'''import rerec=re.compile("\((.+)\)小计.+,.+,(\d+.\d+),.*")with open("0914零售数据.csv") as f: cf=f.read() f.close()dglist=re.findall(rec,cf) #得到格式如[('顾意珍', '480.00'), ('张彩菊', '505.00'),..]for d,t in dglist: #迭代dglist,如d得到顾意珍,t得到她的当天销售额480.00 rec=re.compile("%s,\d+-\d+-\d+,(\w+-\d+),"%d) #用导购名字拼成正则串,那么匹配到的都是她的单子 多少单=len({l for l in re.findall(rec,cf)}) #相同的单号只算一个单,正则查找的结果放在集合, #集合中元素不能重复,相当于去重处理,所以len长度可以得到该导购的单量 客单价=float(t)/多少单 #t还是字符串,需要转成float再计算 print("导购:%s 日成交金额: %s 日客单价:%3.2f 日单量:%s" %(d,t,客单价,多少单))'''输出:>>> 导购:顾意珍 日成交金额: 480.00 日客单价:26.67 日单量:18导购:张彩菊 日成交金额: 505.00 日客单价:28.06 日单量:18...'''
相关内容
- python datetime库使用代码详解,pythondatetime,python中对日期
- 删除windows 垃圾文件,删除windows垃圾,#coding:utf-
- python的多线程示例,python多线程示例,#!/usr/bin/e
- python写个进程监控的脚本,python监控脚本,NoneSendMail
- 用PyQt实现透明桌面时钟小部件,pyqt桌面时钟部件,#co
- 朴素贝叶斯算法的python实现,贝叶斯算法python,算法优缺
- python连接Oracle数据库的代码,pythonoracle数据库,python连接
- 简单插入排序,插入排序,#-*- encodin
- Python3.4版本的抓淘宝妹子图代码,python3.4妹子,import u
- Python使用win32api获取DLL和EXE文件版本号,pythonwin32api,i
评论关闭