对比 | 随手记 | 微信记账 |
---|---|---|
优势 | 功能强大、报表丰富 | 自动记账 |
劣势 | 全手工录入、耗费时间,难以坚持;理财产品暴雷 | 私人订制功能少、无法自己定义类别、报表简单 |
那么有没有一款能结合两款产品优势的记账产品呢?
为此我尝试着自己做了一个
需求:
开发思路:
数据库暂时先以csv格式保存,计划迭代后用mysql等专业数据库保存
数据读取时以dataframe的形式。
main_data
trader_df
type01_df
收入_df (待开发)
预算_df (待开发)
#建立basic——df的类
class Basic_Df():
def __init__(self):
self.path=[
'basic_data/main_data.csv',
'basic_data/trader_df.csv',
'basic_data/type01_df.csv'
]
self.info='basic_df记录了是与基础数据调用的库'
#导出数据
def output_df(self,df_num):
path=self.path[df_num]
the_df=pd.read_csv(path,index_col=0)
return the_df
#导入数据
def input_df(self,df_num,new_df):
path=self.path[df_num]
new_df.to_csv(path)
return
微信支付数据提取
如上微信提取的为csv格式
提取csv格式数据
# 新增交易记录到main_data.csv
def get_data(path):
"""get data from path ,then put into main_data.csv
Args:
path (str): the path of add_data.csv
"""
#导入新数据
new_data=pd.read_csv(path,delimiter=",",skiprows=16,index_col=0)
#去掉金额列的 ¥金额 str格式转 float
new_data['金额(元)']=(new_data['金额(元)']
.str.replace('¥','')
.astype('float'))
#将交易对方 里的 “/”替换为 “ 微信红包退款 ”
new_data.loc[new_data['交易对方']=='/','交易对方']='微信红包退款'
new_data['in_out_NO']=1.0
new_data.loc[new_data['收/支']=='收入','in_out_NO']=-1.0
new_data.loc[new_data['收/支']=='支出','in_out_NO']=1.0
new_data['金额(元)']=new_data['金额(元)']*new_data[