您好,登錄后才能下訂單哦!
下面一段代碼給大家介紹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 處理微信對賬單數據的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。