工作中你是否遇见这样的问题:
- 接手新业务时需要了解数十上百张的数据库表结构;
- 表中的数据量级均是百万级以上;
- 希望可以批量快速生成如下表格。
数据探查结果表
如果你遇到了以上的问题,恭喜你,本文可以帮助你解决!
1、解决思路
但有人会有疑问,Python进行数据探查不是非常简单的事吗,一个函数分分钟搞定,还有必要专门介绍吗。如果你这样想就too yong too simple了。
你可以回想下,当我们采用descirbe()函数时,默认的前提是已经将数据读入了Python之中。但你可曾想过,实际工作中数据读入也会成为一种问题。对的,当数据量级一旦达到百万以上甚至更多时,Python读取数据的效率就很低了。读取一张表可能就要半小时以上,几十张表的话差不多就得一天了。这样低效的方法,肯定是不可取的。
本文就是来源于工作中的实际需求,在上述的方式行不通时,我转变思路寻找了另一种方式。具体的逻辑思路如下:
也就是说,为了快速进行探查,我们可以不用进行全表读入,只需对每个表每个字段进行分组查询就可以了。但如何将SQL查询语句进行循环呢?采用字符串的格式化输出!
2、代码实现
首先我们导入相关包
im