又想起了Python
大概两年前,我买了一本叫《超简单 用Python让Excel飞起来》的书。那本书是怎么买的呢?我搜索关于Python跟Excel的书,然后就看到了它。说白了就是教你用Python去处理Excel。前面的部分是一些批处理,后面的那些是利用Excel的数据作图。批处理的部分我看得挺认真,也实际操作过。感觉基本上都是可以实现的,我在VSCode里写Python,然后引用Excel文件,最后把结果输出到Excel。的确,这样干可以批处理一些基本的问题,但关键是我是个完美主义者,所以我对输出格式有一定的要求,实际上这本书教你的东西不怎么包括具体调整格式本身。通常来说做法大概是读取文件,然后通过pandas处理,最后输出。在这里我学得比较认真的部分是批处理文件,无论是把一个工作簿的每个工作表分别另存为单独的工作簿还是把某个文件夹里面的工作簿全部都合并到一个工作簿里。这些翻来覆去的操作其中一个跑不掉的是要进行一定的循环,循环的思路搞清楚了以后一切都好说。学的时候很认真,也都全部尝试过了,但一段时间之后不用还是会全部都忘光光,最后剩下的只是知道一定可以通过批处理实现这些功能。
在电脑里面安装Python,然后通过这种方式的确是可以处理Excel文件,后来我也进一步对那些输出的文件进行了格式控制,但总的来说,还是有些不如人意的地方。就数据处理本身来说,Python没有任何问题,但关键是跟VBA这个原生的东西相比,在处理格式方面还是显得有点有心无力,又或者无法控制。一个很明显的地方就在于跟VBA相比,Python读取文件跟输出文件都得一定时间,可能数据处理本身不需要多少性能,但关键是打开文件关闭文件这都需要时间。后来机缘巧合之下,我知道了在VBA里可以通过ADO的方式用SQL解决数据的问题。ADO的方式意味着我并不需要真的打开文件,这样就节省了很多时间。以至于后来我用VBA取代了Python的功能,因为Python之所以好用是因为把Excel的数据传进去了以后,它对数据进行了一个类似数据库的标准化改造,然后用标准的语言实现某些功能。相比之下我觉得SQL更简单易懂。所以自从迷上了ADO+SQL以后,我基本上就没再用Python处理Excel了。我一直也没有进行太多高端的操作。可以肯定的是,如果我要做的话,实现同样的功能,我可以通过这两种途径分别得出方案。
回到一开始那本书,前面部分说的是一些批处理,后面部分说的是用Python作图,其实那个时候我并不明白为什么要用Python作图,因为Excel本来就可以作图,而且就控制来说Excel是可视化的,Python全部都得写上去,所以后面作图的部分我看得很潦草,直接快速掠过,只是知道能干这种事而已。
直到这一次数据分析需要做箱形图。Excel可以做箱形图,但对箱形图的控制不如人意,我想到了Python,也想到了R语言。我知道这两个东西通过某些包就可以轻松做出我想得到或者想不到的图。
R语言被我放下了太远,以至于我已经基本不知道该如何操作了,所以我选择先用Python探索一下作图。


