wordmhg 2020-08-16
本文转载自公众号“读芯术”(ID:AI_Discovery)。
没有人能躲过Microsoft Excel ——你要不就很爱它,要不就是很讨厌它。也许在大学毕业之前,Excel只是考试周才会见几面的朋友,关系仅限脸熟。但当工作进入企业之后,你会发现假如Excel消失一个小时,整个世界就会停止运转!
Excel几乎无所不能。作为有着多年的投行工作经验的人,每当我觉得已经看完所有内容后,就会碰到另一个别人又整理好的电子表格!Excel的可能性真是不可限量。
然而,目前Excel的主要局限在于较大的数据集。数据集越大,用Excel处理时面临的困难就越大。在一个数据驱动、即时满足的世界里,大家都希望事情立即完成而痛恨等待,还期望不断地突破边界,功能级别不断增长。
同时,人们又痛恨改变。人们习惯使用Excel,不想离开它。因此,我们的工作就是提供更快的速度,更多的功能,让转换更容易,还得无需离开电子表格。而且Excel还不支持大数据。这不,这就有了Python的用武之地。
将Python集成在Excel中以增强Excel为用户提供的功能。这使得用户可以始终处在他们熟悉的,易于理解的Excel世界中,Python可以帮忙完成一些繁重的工作。它为这个数据驱动的世界提供了一个过渡,直到Excel和技术水平较低的同事都赶上来。
那就来探索一些可用的方案,用Python的超能力增强Excel吧 !
以Excel作为用户界面
将用户群从电子表格转换到21世纪并不容易,这需要时间的打磨,帮助用户渡过难关是专业IT人士的责任,这个过程需要充足的指导、信任和肯定。首先,可以考虑保持用户界面(UI)一致,即让电子表格保持原样,而将所有后端处理从VBA移到Python。
Python包xlwings 可以将Excel与Python无缝集成。用户可以继续使用Excel,但每个表单控件按钮或用户定义的Excel函数都可以调用Python脚本。xlwings很容易安装,并且使用感很棒。
图源:unsplash
寻找新的Excel
随着技术、数据和数据科学工具的爆炸式增长,新的用户类型出现了:超级用户(Power-users)。超级用户了解技术、数据并会编写代码。他们需要表达和解决问题的自由,且非常乐于舍弃电子表格而使用新技术。
那么,要怎样给予他们这样的灵活性呢?
Jupyter Notebook使用户可以利用Python并创建可共享的、基于Web的交互式文档,文档中可以包含实时代码,可视化效果和文本,至于数据则可以继续使用企业数据源和数据库。
以Excel输入
人们已经习惯使用Excel了并且生成的数据很可能会继续存在于电子表格中。然而随着需要分析的数据体量增大,用户会立马感受到Excel末日的迫近。数据操作要花很长时间,数据透视永远在转,这还是在Excel不崩溃的前提下。
使用流行的pandas库可以快速地将数据从电子表格加载到pandas DataFrames或SQL数据库中。这两种解决方法都可以让数据分析和探索变得快速和轻松。
其他可以考虑的库
下面再介绍一些可用的、流行的针对于Excel的Python库。上述提到的库将能够满足大多数情况下的使用需求,但如果你正在寻找Excel特有的功能(如格式化,过滤器等),可能需要尝试探索以下库:
图源:unsplash