【毕业设计】后端实现——各个支付平台保存的账单分析与导入合并

🌈据说,看我文章时 关注、点赞、收藏帅哥美女们 心情都会不自觉的好起来。

前言:
🧡作者简介:大家好我是 user_from_future ,意思是 “ 来自未来的用户 ” ,寓意着未来的自己一定很棒~
✨个人主页:点我直达,在这里肯定能找到你想要的~
👍专栏介绍:个人记账分析系统 ,专门记录制作过程,每天进步一点点~

想看往期历史文章,可以浏览此博文: 历史文章目录,后续所有文章发布都会同步更新此博文~

人生苦短,我用python

获取账单

微信账单

第一步,进入微信——我,打开服务。

在这里插入图片描述

第二步,点击右上角的账单。

在这里插入图片描述

第三步,点击右上角的常见问题。

在这里插入图片描述

第四步,点击下载账单。

在这里插入图片描述

第五步,选择用于个人对账。

在这里插入图片描述

第六步,选择交易流水范围,注意最多只能导出最近三个月的账单,需要及时保存。

在这里插入图片描述

第七步,填写邮箱地址,等待接收账单文件。

在这里插入图片描述

支付宝账单

第一步,进入支付宝——我的,打开账单。

在这里插入图片描述

第二步,点击右上角的三个点,打开菜单。

在这里插入图片描述

第三步,选择开具交易流水证明。

在这里插入图片描述

第四步,选择用于个人对账。

在这里插入图片描述

第五步,选择交易流水范围,注意最多只能导出最近一年的账单,需要及时保存。

在这里插入图片描述

第六步,填写邮箱地址,等待接收账单文件。

在这里插入图片描述

账单分析

微信的账单流水:

文件名是:

微信支付账单(XXXXXXXX-XXXXXXXX).csv

开头是:

微信支付账单明细, , , , , , , ,
微信昵称:[XXXX], , , , , , , ,
起始时间:[XXXX-XX-XX 00:00:00] 终止时间:[XXXX-XX-XX XX:XX:XX], , , , , , , ,
导出类型:[全部], , , , , , , ,
导出时间:[XXXX-XX-XX XX:XX:XX], , , , , , , ,
, , , , , , , ,
共XXX笔记录, , , , , , , ,
收入:XX笔 XXXX.XX元, , , , , , , ,
支出:XX笔 XXXX.XX元, , , , , , , ,
中性交易:XX笔 XXXX.XX元, , , , , , , ,
注:, , , , , , , ,

  1. 充值/提现/理财通购买/零钱通存取/信用卡还款等交易,将计入中性交易, , , , , , , ,
  2. 本明细仅展示当前账单中的交易,不包括已删除的记录, , , , , , , ,
  3. 本明细仅供个人对账使用, , , , , , , ,
    , , , , , , , ,
    ----------------------微信支付账单明细列表--------------------, , , , , , , ,

结尾是:

当中是我们的账单流水信息。

支付宝的账单流水:

文件名是:

alipay_record_XXXXXXXX_XXXXXX.csv

开头是:

------------------------支付宝(中国)网络技术有限公司 电子客户回单------------------------
收/支 ,交易对方 ,对方账号 ,商品说明 ,收/付款方式 ,金额 ,交易状态 ,交易分类 ,交易订单号 ,商家订单号 ,交易时间 ,

结尾是:

------------------------------------------------------------------------------------
导出信息:
姓名:XXX
支付宝账户:XXXXXXXXXXX
起始时间:[XXXX-XX-XX 00:00:00] 终止时间:[XXXX-XX-XX 23:59:59]
导出时间:[XXXX-XX-XX XX:XX:XX]
共XXX笔记录
收入:XX笔,XXXX.XX元
支出:XX笔,XXXX.XX元
其他:XX笔,XXXX.XX元

特别提示:
1.本回单内容可表明支付宝受理了相应支付交易申请,因系统原因或通讯故障等偶发因素导致本回单与实际交易结果不符时,以实际交易情况为准;
2.请勿将本回单作为收款方发货的凭据使用,请查证账户实际到账情况后再进行发货操作;
3.支付宝快捷支付等非余额支付方式可能既产生支付宝交易也同步产生银行交易,因此请勿使用本回单进行重复记账;
4.本回单如经任何涂改、编造,均立即失去效力;
5.部分账单如:充值提现、账户转存或者个人设置收支等不计入为收入或者支出,记为其他类;
6.因统计逻辑不同,明细金额直接累加后,可能会和下方统计金额不一致,请以实际交易金额为准;
7.禁止将本回单用于非法用途;
8.本明细仅展示当前账单中的交易,不包括已删除的记录;
9.本明细仅供个人对账使用。

当中是我们的账单流水信息。

账单导入

可以看到流水信息的开头都是 ------------ 组成的一行,结尾在支付宝是 ------------ 组成的一行,在微信是 文件末一个空行,这还算是有规律的,我们可以快速提取出当中内容来:

from string import whitespace


def alipay_analysis(alipay: str):
    """
    提取账单数据。
    :param alipay: 账单字符串
    :return: type、data
    """
    table = []
    if '支付宝' in alipay:
        payment = '支付宝'
    elif '微信' in alipay:
        payment = '微信'
    else:
        payment = ''
    if payment:
        data_start = False
        for row in alipay.split('\n'):
            if data_start:
                table.append([r.replace('"/"', '').strip(whitespace + '¥/') for r in row.strip(',').split(',')])
            if row.startswith('-') or not row.strip():
                if data_start:
                    table.pop()
                    break
                data_start = True
        return {'type': payment, 'data': table}

可以根据里面出现的关键字判断是微信账单流水还是支付宝账单流水,其他的则不处理(毕竟其他的用起来应该不多),data 用来存放处理后的数据,方便 djangoORM 框架处理数据。在函数外部可以单独使用 pandas.DataFrame 存起来,这样方便处理数据和导出为表格等操作。

账单合并

虽然数据库里设计把微信和支付宝的数据分开存放,并另外准备一个第三方平台的数据存放表,但是有时候还是需要用一个账单展现出来。
现在来分析微信和支付宝的标题区别:
微信的标题:['交易时间', '交易类型', '交易对方', '商品', '收/支', '金额(元)', '支付方式', '当前状态', '交易单号', '商户单号', '备注']
支付宝的标题:['收/支', '交易对方', '对方账号', '商品说明', '收/付款方式', '金额', '交易状态', '交易分类', '交易订单号', '商家订单号', '交易时间']
可以看到就只有 交易时间交易对方收/支 的标题是一模一样的,其他有一部分就差了一个字,个别是完全对不上的,经过我的一番权衡,最终确定了支付宝标题的改动:{'对方账号': '备注', '商品说明': '商品', '收/付款方式': '支付方式', '金额': '金额(元)', '交易状态': '当前状态', '交易分类': '交易类型', '交易订单号': '交易单号', '商家订单号': '商户单号'}用pandas合并一下:

zfb = alipay_analysis(open('data/alipay_record_XXXXXXXX_XXXXXX.csv', 'r').read())['data']
zfb = pandas.DataFrame(columns=zfb[0], data=zfb[1:])
wx = alipay_analysis(open('data/微信支付账单(XXXXXXXX-XXXXXXXX).csv', 'r').read())['data']
wx = pandas.DataFrame(columns=wx[0], data=wx[1:])
zfb = zfb.rename(columns={'对方账号': '备注', '商品说明': '商品', '收/付款方式': '支付方式', '金额': '金额(元)', '交易状态': '当前状态', '交易分类': '交易类型', '交易订单号': '交易单号', '商家订单号': '商户单号'})
merge = pandas.concat([zfb, wx], join='inner', ignore_index=True).replace('"/"', '').replace('/', '')
print(merge.to_string())

这里用 pandas 处理数据就方便在能快速合并,并能直接输出表格文件:merge.to_excel('文件名.xlsx')

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
酒店管理系统是为了提高酒店工作效率和客户满意度而设计的软件,通过基于Vue的前端框架和后端技术进行设计和实现。系统的需求分析包括多个方面的内容。 首先,系统需要具有完善的房间管理功能,包括房间预订、入住和退房等流程,还需支持房间信息的查询、修改和删除操作。其次,系统还需要具备客户管理功能,包括客户信息录入、查询和管理等,也需要支持客户预订和入住信息的统计和报表。另外,系统还需要支持员工管理功能,包括员工信息录入、权限管理和工作安排等。 酒店管理系统还需要具备财务管理功能,包括财务报表、账单管理和支付功能等,以及需支持对酒店经营数据的统计和分析。同时,系统还需要实现库存管理功能,包括物品采购、库存监控和耗材管理等,以及支持酒店设施设备的维护和保养。 在技术实现上,基于Vue的前端框架可以提供友好的用户界面和快速的响应速度,同时也需要与后端技术进行合理的对接,以实现系统的稳定和安全运行。系统的设计与实现需要充分考虑用户需求和使用体验,通过不断优化和改进来提高系统的性能和功能。 总之,基于Vue的酒店管理系统设计与实现需要综合考虑房间管理、客户管理、员工管理、财务管理和库存管理等多方面的需求分析,并通过前端和后端技术进行合理的设计与实现,以满足酒店管理的各项需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值