下⾯⼀段代码给⼤家介绍python 处理对账单数据,具体代码如下所⽰:
#下载对账单并存储到数据库
@ute("/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 = day() + datetime.timedelta(-1)
TimeList = [
yesterday.strftime("%Y%m%d")
]
f = file("./test.csv", "w")
#创建CSV⽂件表头
f.write("交易时间,公众账号ID,商户号,⼦商户号,设备号,订单号,商户订单号,⽤户标识,交易类型,交易状态,付款银⾏,货币种类,总⾦额,代⾦券或⽴减优惠⾦额,退款单号,商户退款单号,退款⾦额,代⾦券或⽴减优惠退款,退款类型,退款状态,商品名称,商户数据包,⼿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'h.weixin.qq/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 处理对账单数据的实例代码,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!
如果你觉得本⽂对你有帮助,欢迎转载,烦请注明出处,谢谢!
发布评论