美文网首页
微信支付宝账单合并

微信支付宝账单合并

作者: michaelxwang | 来源:发表于2023-10-18 20:07 被阅读0次

微信

# -*- coding: utf-8 -*-
"""
Created on Wed Sep 16 17:59:13 2020

@author: MW
"""

import os
import sys
import pandas as pd
import chardet

#创建空DataFrame以备存储汇总后的数据
wechat_zi = pd.DataFrame()
wechat_te = pd.DataFrame()
wechat_zi_sum = pd.DataFrame()
wechat_te_sum = pd.DataFrame()


#获取文件地址+文件名
address = []
for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
        address.append(os.path.join(root, name))
        
#记录符合条件文档总数
cwd_file=[s for s in address if 'csv' in s]
cwd_file=[s for s in cwd_file if 'All' in s]
cwd_count=len(cwd_file)

index=1
#遍历文件
for cwd in address:
    if 'csv' in cwd:
        if 'All' in cwd:
            #获取文件编码
            with open(cwd,'rb') as f:
                for line in f.readlines():
                    conding = chardet.detect(line)['encoding']
                    print(index,'/',cwd_count,cwd,conding)
                    break
            index=index+1
            #将明细数据放入wechat_for DataFrame里
            try:
                wechat_for = pd.read_table(cwd,sep = ',', encoding = conding)
                #替换列名中的空格
                col_names = wechat_for.columns.tolist() # 获取列名字
                # 把列名中的空格去掉
                for index1,value in enumerate(col_names):
                    col_names[index1]= value.replace(" ","")
                wechat_for.columns=col_names 
                
                #增加一列文件地址
                wechat_for['file_dir']=cwd
            except:
                print('--pandas读取出错:',cwd,' --')
            #将汇总数据放入wechat_for_sum DataFrame里
            #如果倒数第二行是汇总数据
            if wechat_for.iloc[len(wechat_for)-2,0] =='总交易单数' :
                #则从文档中获取汇总塑胶
                wechat_for_sum = pd.read_table(cwd,skiprows=len(wechat_for)-1,sep = ',', encoding = conding)
                #增加一列文件地址
                wechat_for_sum['file_dir']=cwd
                
                

            #如果表头包含子商户号,则列入子商户表
            if wechat_for.columns.tolist()[3] == '子商户号':
                if wechat_for.iloc[len(wechat_for)-2,0] =='总交易单数' :
                    wechat_zi = wechat_zi.append(wechat_for[:-2], ignore_index=True,sort=True)
                    wechat_zi_sum = wechat_zi_sum.append(wechat_for_sum, ignore_index=True,sort=True)
                else:
                    wechat_zi = wechat_zi.append(wechat_for, ignore_index=True,sort=True)
                    print('子商户号,无总交易记录数',cwd,conding)
            #如果表头包含“特约商户号”,则列入特约商户号表
            elif wechat_for.columns.tolist()[3] == '特约商户号':
                if wechat_for.iloc[len(wechat_for)-2,0] =='总交易单数' :
                    wechat_te = wechat_te.append(wechat_for[:-2], ignore_index=True,sort=True)
                    wechat_te_sum = wechat_te_sum.append(wechat_for_sum, ignore_index=True,sort=True)
                else:
                    wechat_te = wechat_te.append(wechat_for, ignore_index=True,sort=True)
                    print('特约商户号:无总交易记录数',cwd,conding)
            else:
                 print('--字段名称读取出错:',cwd,conding,' --')


wechat_zi.to_csv('子商户号.csv',sep='|',index=False,quoting=1,encoding = 'GB18030')
wechat_te.to_csv('特约商户号.csv',sep='|',index=False,quoting=1,encoding = 'GB18030')
wechat_zi_sum.to_csv('子商户号sum.csv',sep='|',index=False,quoting=1,encoding = 'GB18030')
wechat_te_sum.to_csv('特约商户号sum.csv',sep='|',index=False,quoting=1,encoding = 'GB18030')

 

支付宝

对账单分四个,业务账单汇总和明细,账务账单汇总和明细,我们对账主要用明细进行去对账务账单明细和账务账单汇总

# -*- coding: utf-8 -*-
"""
Created on Fri Oct  9 20:59:55 2020

@author: mw
"""

import os
dirpath =  './'
import pandas as pd

zhifubao = pd.DataFrame()

for root,dirs,files in os.walk(dirpath):
    for file in files:
        # 使用join函数将文件名称和文件所在根目录连接起来
        file_dir = os.path.join(root, file)
        file_dir = file_dir.replace("\\","/")
        if file_dir[-3:]=='csv':
            print(file_dir,'*********************************************')
            with open(file_dir,'r') as f:
                a = f.readline().replace('\n', '').replace('\r', '')
                b = f.readline().replace('\n', '').replace('\r', '').replace('#账号:[','').replace(']','')
                c = f.readline().replace('\n', '').replace('\r', '')                 
                print(a)
                print(b)
                print(c)
            if '支付宝账务明细查询' in a:
                print('*****************增加****************************')
                dat = pd.read_csv(file_dir,dtype=object,encoding='GB18030',sep=',',engine='python',skiprows=range(0,4))
                dat['file_dir']=file_dir
                dat['账号']=b
                dat['起止日期']=c
                dat.replace('\t', '',inplace = True,regex=True)
                if dat.iloc[len(dat)-4,0]=='#-----------------------------------------账务明细列表结束------------------------------------':
                    zhifubao = zhifubao.append(dat[:-4], ignore_index=True,sort=True)
                    print(file_dir,'账务明细列表结束')
                else:
                    zhifubao = zhifubao.append(dat)
            else:
                continue
        
    
zhifubao.to_csv('zhifubao.csv',sep='|',index=False,quoting=1,encoding = 'GB18030')

相关文章

  • 周记 2017 4.24 - 4.30

    微信支付宝对账单下载 背景:帮朋友下载商户在微信和支付宝每天的账单微信对账单API支付宝对账单API 微信对账单 ...

  • Bill

    1.支付宝账单 月份 -----金额---月度金额 支付宝结算: 31551 2.微信账单 月份-----金额-...

  • 5款表情的背后却都有一种趋势

    支付宝的账单出来后,没等来微信年账单,“2018微信数据报告”却横空出世了,1月9日,腾讯发布了《2018微信数据...

  • 2020-01-14

    1、最近很多报告和总结都刷屏了,支付宝年度账单、外卖账单、歌单、微信读书年度总结,微信年度报告,等等。 2、有一个...

  • 《欲罢不能》

    在读这本书之前,微信年度报告,支付宝账单都是刚刚出炉,可以看出来每天有多少人泡在微信、微博、支付宝及各种各...

  • 你出门还带钱包吗?

    2017年已逝。 2018年1月2日,支付宝发布2017年全民账单。霎时间,微信朋友圈被支付宝账单刷了屏。有网友晒...

  • 币不必铭说第73篇:希望这是熊市不是死市!

    这段时间网易云音乐年度报告,微信年度报告,支付宝年度账单啥的,一股脑的全出来了,当然还是支付宝账单最抢眼! “终于...

  • 支付宝年度账单刷屏,看到账单的你还好吗

    2018年支付宝的账单已经发布啦!在发布不到一小时的时间里,支付宝账单已经稳稳的登上了微博的热搜。 今年支付宝账单...

  • 微信支付、支付宝二维码居然可以被芝麻收款合并?!

    最近,笔者发现,用芝麻收款码合并聚合支付合并微信支付、支付宝收钱码,把个人的两张二维码变成1张。 刚刚过去的微信支...

  • 你晒得账单里不只有数字还有。。。

    2017年年末,支付宝告诉大家:17年的账单出炉了,然后微信朋友圈里各种账单:“我这么有钱,我TM怎么不知道!”、...

网友评论

      本文标题:微信支付宝账单合并

      本文链接:https://www.haomeiwen.com/subject/jtmcidtx.html