中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python 處理微信對賬單數據的實例代碼

發布時間:2020-08-20 20:52:58 來源:腳本之家 閱讀:227 作者:故事的開頭是個碼農 欄目:開發技術

下面一段代碼給大家介紹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 處理微信對賬單數據的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴仁县| 兴海县| 阿克苏市| 泸定县| 韶关市| 诸暨市| 九江市| 基隆市| 商南县| 泰顺县| 峨眉山市| 马尔康县| 西华县| 平罗县| 新巴尔虎右旗| 濉溪县| 彭山县| 大港区| 上犹县| 宁明县| 夹江县| 洱源县| 德江县| 会泽县| 红原县| 黄山市| 呼玛县| 石景山区| 库伦旗| 广平县| 西畴县| 化州市| 宜章县| 涞源县| 永寿县| 阳江市| 焦作市| 湖口县| 凤山市| 襄樊市| 玛沁县|