加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python正则提取CSV文件数据计算导购客单价.py

发布时间:2020-12-17 17:15:59 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 '''python正则提取CSV文件数据计算导购客单价.py题目来源 https://github.com/FGFW/FCNNIC依山居 4:36 2015/11/22看了看python自带的csv库貌似也没能

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

'''
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 re
rec=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
...
'''

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读