下面一段代码给大家介绍python 处理微信对账单数据,具体代码如下所示:
#下载对账单并存储到数据库 @app.route("/bill/<string:date>",methods=["GET","POST"]) def download_bill(date): pay = MyWeiXinPay()#自己的支付类 bill= pay.download_mybill(date)#下载原始对账单,下载下来为字符串 billArray=bill.split("\r\n") #分割账单,一行为一组数据,分割后第一行为数据标题,倒数第三行为统计标题,倒数第二行为统计金额,最后一行为多余的空行 titleArray=billArray[0].split(',')#第一行为标题 title_total=billArray[len(billArray)-2] #统计标题 data_total=billArray[len(billArray)-1]#统计金额 del billArray[0] #去掉标题 del billArray[len(billArray)-3] #去掉总标题 del billArray[len(billArray)-2] #去掉总额 del billArray[len(billArray)-1] #去掉空行,剩下的为账单详情数据 mybill=[] #订单详细信息 #循环账单详情数据 for i in billArray: #每一条订单详细信息(去掉分隔出来的空数据) _detail=i.split('`')[:-1] del _detail[0]#去掉前边的空数据 _detail_temp=[] for d in _detail: #每一个数据(去掉最后的逗号) _detail_val=d[:-1] _detail_temp.append(_detail_val) #TODO业务处理 # print(d[:-1]) #TODO业务处理 mybill.append(_detail_temp) # print("---------------------------------------------") #返回值TODO return json.dumps(mybill)
ps:Python通过微信对账接口获取账单明细
由于工作需要,实现了用Python获取微信对账明细,最终生成CSV文件。
代码如下:
# -*- coding: utf-8 -*- import urllib2 import hashlib import datetime '''登录微信公众号后台,可以查询到APPID和MCH_ID,并填写生成的KEY''' APPID = "" MCH_ID = "" KEY = "" #当天获取昨天一整天的微信支付数据 yesterday = datetime.date.today() + datetime.timedelta(-1) TimeList = [ yesterday.strftime("%Y%m%d") ] f = file("./test.csv", "w") #创建CSV文件表头 f.write("交易时间,公众账号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,总金额,代金券或立减优惠金额,微信退款单号,商户退款单号,退款金额,代金券或立减优惠退款,退款类型,退款状态,商品名称,商户数据包,手续费,费率\n".decode("utf-8").encode("gb2312")) f.close() cookies = urllib2.HTTPCookieProcessor() opener = urllib2.build_opener(cookies) #循环取时间列表里面的时间,并获取相对应的微信支付的记录 for date in TimeList: temp = "appid=%s&bill_date=%s&bill_type=ALL&mch_id=%s&nonce_str=21df7dc9cd8616b56919f20d9f679233&key=%s" temp = temp % (APPID, date, MCH_ID, KEY) MD5 = hashlib.md5() MD5.update(temp) data = ''' %s %s ALL %s 21df7dc9cd8616b56919f20d9f679233 %s ''' data = data % (APPID, date, MCH_ID, MD5.hexdigest().upper()) request = urllib2.Request( url = r'https://api.mch.weixin.qq.com/pay/downloadbill', headers = {'Content-Type' : 'text/xml'}, data = data) data = opener.open(request).read() print data #将获取的数据分行,放入列表中 lines = data.split("\n") f = file("./test.csv", "a") #将获取的数据按行写入CSV文件 for i in range(len(lines)): if i>0 and i f.write(lines[i].replace("`","")) i += 1 f.close()
总结
以上所述是小编给大家介绍的python 处理微信对账单数据的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月16日
2024年11月16日
- 第五街的士高《印度激情版》3CD [WAV+CUE][2.4G]
- 三国志8重制版哪个武将智力高 三国志8重制版智力武将排行一览
- 三国志8重制版哪个武将好 三国志8重制版武将排行一览
- 三国志8重制版武将图像怎么保存 三国志8重制版武将图像设置方法
- 何方.1990-我不是那种人【林杰唱片】【WAV+CUE】
- 张惠妹.1999-妹力新世纪2CD【丰华】【WAV+CUE】
- 邓丽欣.2006-FANTASY【金牌大风】【WAV+CUE】
- 饭制《黑神话》蜘蛛四妹手办
- 《燕云十六声》回应跑路:年内公测版本完成95%
- 网友发现国内版《双城之战》第二季有删减:亲亲环节没了!
- 邓丽君2024-《漫步人生路》头版限量编号MQA-UHQCD[WAV+CUE]
- SergeProkofievplaysProkofiev[Dutton][FLAC+CUE]
- 永恒英文金曲精选4《TheBestOfEverlastingFavouritesVol.4》[WAV+CUE]
- 群星《国风超有戏 第9期》[320K/MP3][13.63MB]
- 群星《国风超有戏 第9期》[FLAC/分轨][72.56MB]