Python清洗合并个人支付宝微信账单数据

前言说明

支付宝和微信的账单数据格式不一样,在记账的时候就很麻烦,通过Pyhon将清洗整合的步骤固定下来以节省时间。


账单数据清洗合并

在运行代码之前,默认已经将文件都解码提取出来了。

import pandas as pd
import numpy as np
import datetime, time

#微信账单读取
wecj=pd.read_csv('微信j.csv',skiprows=16,usecols=['交易时间','交易类型','交易对方','商品','收/支','金额(元)','支付方式','当前状态'])
#格式转换
wecj['交易时间']= pd.to_datetime(wecj['交易时间'], format="%Y-%m-%d %H:%M:%S")
#delet charter
wecj['金额(元)'] = wecj['金额(元)'].map(lambda date_str: date_str[1:])
#conver dtype
wecj['金额(元)'] = wecj['金额(元)'].astype(np.float)
#账号命名
wecj['账号'] = '微信'

#支付宝账单读取
#ali=pd.read_csv('支付宝.csv',skiprows=1,skipfooter=21,encoding='gbk')
#查看列名
#ali.columns
#选用特定的几列数据
ali=pd.read_csv('支付宝.csv',skiprows=1,skipfooter=21,encoding='gbk'
                ,usecols=['交易时间            ','交易对方                ','商品说明                ','收/支                 ','金额                  ','收/付款方式              '])
# 重命名
ali.rename(columns={
                    '交易时间            ':'交易时间',
                    '交易对方                ':'交易对方',
                    '商品说明                ':'商品',
                    '收/支                 ':'收/支',
                    '金额                  ':'金额(元)',
                    '收/付款方式              ':'支付方式'},inplace=True)
#添加数据列,为了和微信账单保持一致
ali['当前状态']='成功'
ali['交易类型']='未分类'
ali['账号']='ali'
#重新排序
order =['交易时间','交易类型','交易对方','商品','收/支','金额(元)','支付方式','当前状态','账号'] 
ali= ali[order] 

#数据合并
wec=pd.concat([wecj,ali])        
#数据导出
wec.to_excel('result_final.xlsx',index=False)       

账单数据分类

这部分感觉还可以继续优化,先将初步的版本放上来:

#新建一个分类列, 默认分类是打工人的主要支出:"饮食购物",
wec['分类']='饮食购物'

#朋友和个人转账,不属于支出的
wec['分类'].loc[wec['交易类型']=='转账']='转账'

根据”交易对方"给每个数据分类

#把对应的商家名称放入列表
transport=['深圳市地铁相关运营主体','滴滴出行','铁路12306']
coffee=['奈雪的茶','喜茶']
shopping=['京东商城平台商户','京东']
food=['美团平台商户','美团']

#根据列表内容给每条数据分类
wec['分类'].loc[wec['交易对方'].isin(transport)]='交通'
wec['分类'].loc[wec['交易对方'].isin(shopping)]='购物'
wec['分类'].loc[wec['交易对方'].isin(coffee)]='咖啡奶茶'
wec['分类'].loc[wec['交易对方'].isin(food)]='外卖'

#查看分类账单明细
wec.loc[wec['分类']=='交通']
#数据导出
wec.to_excel('result_fenlei.xlsx',index=False)      

在这里插入图片描述

其他的后续想法

  • 分类可增加其他的商家,或者使用表格字典,或者读取单独的Excel分类表格,方便管理和使用。
  • 退款:不同商家的退款数据记录不一样,可以通过判断交易对方/商品中是否包含"退款",给退款数据打标记
  • 支出和收入可以用正负号区别表示
  • 将数据导入本地数据库中,形成个人的消费支出数据库,方便整理和汇总。
  • 加入可视化分析对比,固化支出的分析流程,直接输出分析报告。
  • 使用其他的BI工具,Tableau/PowerBI 也可以实现支出报告自动化生成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值