毕业以来一直有统计账单的习惯,最开始用「会记账」App 并且一直更新到微博 https://weibo.com/u/2038777590 ,目前 App 已经停止运行了,后来也因为原因也就没再统计。 一直想用一个账单软件,从支付宝和微信账单拉取信息统计,又怕第三方的不太安全。索性自己就写了一个,GitHub 地址:https://github.com/liangtongzhuo/bill_statistics
-
- 数据来源
-
- 数据读取
-
- 数据汇总保存
-
- 数据页面保存
-
- 项目 GitHub 地址
微信数据:我-支付-钱包-账单-常见问题-下载账单-输入到邮箱即可 微信账单如图:
支付宝数据:打开Web页面登录-交易记录-选择时间-下载excel
const csv = require('csv-parser')
const fs = require('fs')
/**
* csv 解析封装
* @param {*} path csv路径
*/
module.exports.readcsv = (path) => {
return new Promise((resolve, rejects) => {
const results = [];
fs.createReadStream(path)
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
resolve(results)
}).on('error', (error) => {
rejects(error)
})
})
}
JSON 格式保存本地
/**
* 保存数据到本地
*/
module.exports.dbSave = (name) => {
fs.writeFileSync(`${dbPath}_${name}`, JSON.stringify(db));
}
https://github.com/liangtongzhuo/bill_statistics
- db:存放从微信和支付宝账单读取账单的文件
- in_html: 默认模版,可用浏览器打开
- order:原始支付宝和微信账单位置
- statistics:根据数据生成 HTML 的逻辑
- out_html:根据数据生成后的HTML,可用浏览器打开
- util:工具
- index:执行入口
- config:配置文件,统计分类
npm i
node index #生成数据
node ./statistics/statistics_month.js #生成Web页面