需求背景:
为了更好的解放双手,提高记账效率,本人想要制作一个基于python的自动化记账程序,用于统计本人每星期、每月、每年,甚至是每日的盈亏记录,目前该程序是处于半自动化状态,后期会逐渐更新,争取全套流程纯自动化,不需要过多的人工参与,摆脱苦哈哈记账统计的耗时任务。
需求总目标:
日账目:连接常用的支付通信软件,将自己每花费一笔,就自动归类在一个临时存储位置,然后这个临时存储位置可以用excel格式记录存储,并将其下载到指定的电脑桌面位置。
星期账目:对一星期的花销和盈收做出统计,并用图的方式展示各种类花销情况和收入情况。
月账目:对一个月(即四个星期)的花销和盈收做出统计,并用图的方式展示各种类花销情况和收入情况。
年账目:对一年(即12个月)的花销和盈收做出统计,并用图的方式展示各种类花销情况和收入情况
本次记账程序1.0的目标:
对一星期(即2021年5月23日 至 2021年5月29日)的盈收情况统计,可以得出其一星期的总收入、总支出、剩余额【注:本次编写不会介绍太多理论性的东西,纯小白实操教程】
具体内容:
前期准备工作
本次基于python记账程序的实现,前提要部署好python的编译环境,这里本人使用anaconda里的jupyter notebook作为编译器,如若不会安装,这里有传送门:
Anaconda的下载【清华镜像的】:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
Anaconda的安装教程:
https://www.cnblogs.com/sui776265233/p/11453004.html
若第一次安装anaconda,在搭建好编译环境后,需要打开cmd窗口,开始下载第三方库【如何打开cmd窗口,使用快捷键win+r,输入cmd即可】,以下展示cmd窗口效果。
因为本次需要使用的库有xlrd库、xlwt库、pyinstaller库和calendar库,所以在弹窗的黑色窗口中分别输入命令,下载xlrd库:
pip install xlrd
效果图如下:
同理:下载完成后,继续下载xlwt库,命令为:
pip install xlwt
下载pyinstaller库,命令为:
pip install pyinstaller
下载calendar库,命令为:
pip install calendar
下载完成后,可以继续在cmd窗口输入命令:pip list,用于检查自己是否下载成功
编码思路
到这里,基本的准备工作是完成了,现在就开始到编码环节了。
首先要有思路:
- 对于日记账的数据,先要获取单张表的支出和收入
- 进入到每个记录日记账的表格去获取其中的收支情况
- 将汇总好的内容写入到新的excel表格中
- 将.ipynb的程序转成.py程序,并将其打包,实现python程序转化为.exe的脚本程序(即不打开python编译环境就可以自动运行写好的python程序内容)
开始编码
思路想好后,就正式编码了:
导入第三方库
在写python程序前,可以将需要使用到的第三方库先进行导入,导入的语法格式是:import 第三方库名,这个第三方库名就是我们刚才下载的那些库【注:pyinstaller库可以不用,因为这个是将写好的python程序打包成.exe,不用导入进来】
导入库的源码如下【含注释,最好手动敲写】:
import xlrd# 从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件
import xlwt# 用于将数据和格式化信息写入旧Excel文件的库
import calendar# 导入日历库
获取表格里的收支数据
接下来是开始获取单张表的收支数据,这里我展示一下我的记账excel模板是:
可以从上图看到,我的黄底红字那里,是对当天记账情况的总结,只要直接获取收支数据对应的表格内容即可。
故这里的思路是:
获取单张表支出的源码如下【含注释,最好手动敲写】:
# 获取单张表的支出
def get_single_pay