背景 本人使用随手记记帐半个多月了,今天看到appstore里面懒猫记帐pro限免,本着产品体验的想法安装试了试,确实很简洁。于是乎想把迁移到懒猫上来。这时候摆在面前有一道难题——数据迁移。 懒猫记帐支持几个平台的数据导入,分别是微信支付宝鲨鱼还有随手记,本来事情是很简单的。但是呢,随手记的导出却不轻松。经过研究有以下几种方式 第一种同icloud备份和恢复,这种方式没意义;第二种是本地导出kbf格式文件,目前仅支持它自己导入;第三种是开通会员导出excel文件。方案 1, 开会员并导出excel,这样就能和懒猫无缝衔接了。问题是花钱开会员舍不得 2,kbf文件转换excel,网上搜索确实有一些对应的应用程序,但都是exe程序,我用的mac暂时用不了。 3,找pj版导出,找了一圈没找到。就算找到了,也不敢说啊。 4,爬取数据自己转换成excel思路 从标题也能看出来,我采用第四种方式。而且很快就找到了突破口。在网页版的记帐页面,通过时间搜索结果,可以找到异步获取的json串,而且数目,时间,类目非常详细简直完美。所以一个大胆的想法油然而生。 分别爬取每页数据,把json数据处理并拼接,最后导出为excel文件,供其它平台导入。 这条路子绝对是可行的,但是一想到爬数据要调试很长时间就懒得动了。而且要成品得把excel的列数格式都搞清楚。目前没demo文件不好进行。所以咱们先做一个简化版,只把数据取出转换成table格式,然后自行粘贴到excel中去。这样的话,就可以用微信或支付宝的导出数据作为样板简单替换就好。而且开发起来只用到前端。 相关技能 首先是了解一些web知识,知道按F12,从网络响应里拿到数据,然后再了解一些js知识,了解一些html简单布局,知道怎么渲染出来table就行。在这个案例中,我是用的vue+eui,主要是懒得写UIi,dom操作用vue会更容易。代码地址放最后了,直接保存成hmtl文件就能运行了。 难点 一键复制功能 因为做成表格后内容会比较多,想着不用划选直接做个一键复制功能。但是这个比单纯的字符串要稍微复杂一些。也就是在分列数据的地方加一个制表符 ,在分行处加一个换行符 。一种方案是监听拷贝事件,处理数据后重新放入剪切板。还有一种方案是用js虚拟一个文本域,把内容拼接好后放进去,再执行选中拷贝。目前我用的第二种。总结 经过以上过程使用懒猫记帐成功导入。但是有个问题,日期没有导入成功,全都记录成当天时间。使用原微信账单文件导入是ok的。经过反复实验,发现只要修改任意内容就会有这种情况。所以我初步猜测是由于我使用mac版wps编辑的原因,mac上的wps不支持另存为csv文件,且每次保存都提醒兼容性。 虽然是失败了,但是思路应该没问题。过完中秋去公司用office再试一下能否成功。 最近很想聊一聊理财的事情,但是今年不论是股票还是基金都是亏损状态,不太好意说了。 html代码地址 gitee.com/youshoupai/develop/blob/8f7724fcac765daf0f34bfc3b8b16c03518ca911/sui.html