七叶笔记 » golang编程 » 「GoLang效率」我的第一个Go效率工具:自动纠错并同步数据

「GoLang效率」我的第一个Go效率工具:自动纠错并同步数据

工作需要,从第三方平台下载统计数据到公司内部数据库。

最好的路径应该是:

1、利用第三方OpenAPI直接获取数据;

2、和自己数据库中的数据比较,看哪些需要同步

3、有需要同步的,则同步过来

但是,咨询并查阅第三方OpenAPI后发现,没有统计数据可下载。

那就改变一下:

1、手工下载统计数据 — zip文件到本地

2、后续同步过程使用Go代码写的工具去实现

2.1、检查zip文件时间和本地数据库时间,如果大于数据库最新数据时间,则需要同步

2.2、如果需要同步,则解压zip文件,生成csv文件。

2.3、同步csv文件到本地数据库对应的表。但有个坑:csv文件title和行实际数据不一定一致。

需要每行检查并纠正。

2.4、数据库中有和csv文件对应的模板表,从模板表创建对应的数据表。

2.5、把csv对应的行数据insert into对应的表–中间表

3、检查本地数据库中间表,检查是否需要实际插入目标表。如果有则插入。

因为数据必须完整,故所有数据库操作采用事务方式处理。

本工具暂时只有处理最新zip文件,和最新中间表。并没有做到处理所导出数据zip文件,没有检查所有本地中间表文件。待优化,不过因为一周只需要执行一次,故暂时满足使用了。

主函数如图:

主程序

临时表到目标表

好了,以后不用手工同步数据了,只需要每周一次的手工下载统计文件。

也可以把工作交出去了。

很容易打包成exe文件。发布这这方面还是比Python方便一点。

工作中,好多手工都尽量工具化。提高工作效率。


我是【程序员黑洞】,一个程序员。正在学GoLang,用GO给自己写效率工具。

欢迎关注我,欢迎留言交流。

相关文章