python盘点订单_python 处理微信对账单数据的实例代码

下面一段代码给大家介绍python 处理微信对账单数据,具体代码如下所示:

#下载对账单并存储到数据库

@app.route("/bill/",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 处理微信对账单数据的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值