超能力加持!用Python增强Excel的3大集成方法及用途

wordmhg 2020-08-16

本文转载自公众号“读芯术”(ID:AI_Discovery)。

没有人能躲过Microsoft Excel ——你要不就很爱它,要不就是很讨厌它。也许在大学毕业之前,Excel只是考试周才会见几面的朋友,关系仅限脸熟。但当工作进入企业之后,你会发现假如Excel消失一个小时,整个世界就会停止运转!

Excel几乎无所不能。作为有着多年的投行工作经验的人,每当我觉得已经看完所有内容后,就会碰到另一个别人又整理好的电子表格!Excel的可能性真是不可限量。

超能力加持!用Python增强Excel的3大集成方法及用途

然而,目前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很容易安装,并且使用感很棒。

超能力加持!用Python增强Excel的3大集成方法及用途

图源:unsplash

寻找新的Excel

随着技术、数据和数据科学工具的爆炸式增长,新的用户类型出现了:超级用户(Power-users)。超级用户了解技术、数据并会编写代码。他们需要表达和解决问题的自由,且非常乐于舍弃电子表格而使用新技术。

那么,要怎样给予他们这样的灵活性呢?

Jupyter Notebook使用户可以利用Python并创建可共享的、基于Web的交互式文档,文档中可以包含实时代码,可视化效果和文本,至于数据则可以继续使用企业数据源和数据库。

以Excel输入

人们已经习惯使用Excel了并且生成的数据很可能会继续存在于电子表格中。然而随着需要分析的数据体量增大,用户会立马感受到Excel末日的迫近。数据操作要花很长时间,数据透视永远在转,这还是在Excel不崩溃的前提下。

使用流行的pandas库可以快速地将数据从电子表格加载到pandas DataFrames或SQL数据库中。这两种解决方法都可以让数据分析和探索变得快速和轻松。

其他可以考虑的库

下面再介绍一些可用的、流行的针对于Excel的Python库。上述提到的库将能够满足大多数情况下的使用需求,但如果你正在寻找Excel特有的功能(如格式化,过滤器等),可能需要尝试探索以下库:

  • openpyxl:可以读写Excel 2010文件,可以在Excel中编写新的工作表,编辑现有的工作表,并使用鼠标完成几乎所有可以完成的操作,它支持Excel几乎所有的扩展。
  • xlrd:用于读取Excel文件中的数据和格式信息的库。
  • xlsxwriter:可能最全的Excel Python库。格式化、条件格式、图表、合并单元格、过滤器、注释、与pandas的集成,这些还只是它提供的部分功能。如果希望通过Python脚本使用Excel的全部功能,可以从这个库开始!

超能力加持!用Python增强Excel的3大集成方法及用途

图源:unsplash

相关推荐