树袋熊|打破Excel与Python的隔阂,xlwings最佳实践


树袋熊|打破Excel与Python的隔阂,xlwings最佳实践更多 Python 数据处理的干货 , 敬请关注!!!!
本系列将结合实际应用 , 教会你如何利用xlwings , 把Excel与Python的各自优势充分发挥
前言【树袋熊|打破Excel与Python的隔阂,xlwings最佳实践】说到必需学习的数据工具 , Excel 无疑是唯一的答案, 各种基本操作、函数公式、透视表 , 这些都是非常好用的功能 , 加上 vba 可以实现自动化需求 。
自动化控制 Excel , 我认为 vba 是目前最好的平台 。 但是 vba 的数据处理能力实在有限(别把表格处理与数据处理混淆) 。
而 Python 之所以在数据领域受宠 , 完全是因为他有一些非常好用的库(numpy、pandas等) , 如果没有这些库 , 实际上 Python 与 vba 没有多大区别(只是在数据处理方面) 。 但是 Python 做数据任务有个不太好的地方 , 没有一个舒服的操作界面(虽然有许多第三方库做界面 , 但是实在太麻烦)
Excel 就是一个很好的操作界面 , 为何不结合他们?
本系列文章我将完成一些小工具的制作 , 通过 Excel 完成各种输出格式的自动化 , 而把数据处理交给 pandas 完成 。
这里有我的 pandas 专栏 , 我相信市面上还没有这么多干货的pandas教程:
能生成 pandas 代码的数据浏览工具这是一个能让你通过简单操作 , 即可对数据进行各种操作的小工具 , 如下动图:
树袋熊|打破Excel与Python的隔阂,xlwings最佳实践

  • 可以指定文件路径
  • 可以指定各种基本操作 , 比如筛选、分组、统计等等
  • 当然也可以让你编写代码
  • 这个工具的一个特点是 , 你的操作最后都能转化成 pandas 代码
此工具界面完全使用 Excel 制作(大部分情况下不需要编写任何 vba 代码) , 后台处理使用 Python(大部分情况使用 pandas) 。
工具安装首先安装 xlwings:
pip install xlwingsxlwings 是 Python 的一个第三方库 , 主要用于让你的 Python 代码可以在 Excel 上被调用 。
我们要借助 xlwings 的一个开发工具 , 因此执行如下命令行:
xlwings addin install这个工具只是方便你开发使用 , 实际使用时并不需要安装此工具
此时你打开 Excel, 应该会看到 xlwings 的加载项
树袋熊|打破Excel与Python的隔阂,xlwings最佳实践暂且不解释他的原理 , 稍后在实践中再讲解其中的机制 。
接下来 , 我们需要生成一个项目 , 说白了 , 就是生成一些必要的文件:
首先导航到你的项目文件夹中 , 执行如下命令:
xlwings quickstart myproject --standalone
  • 其中的 "myproject" 是你的项目名字 ,你可以修改为任何合法的名字 ,
此时你会发现项目文件夹中生成了一个名为 "myproject" 的文件夹 , 其中有文件:
树袋熊|打破Excel与Python的隔阂,xlwings最佳实践
  • myproject.xlsm , 这是带 vba 代码的 Excel 文件
  • myproject.py , 这是带 Python 代码的文件
接下来开始我们的小工具制作
树袋熊|打破Excel与Python的隔阂,xlwings最佳实践加载数据从一个简单任务开始 , 当我们在一个 Excel 单元格上输入文件路径与工作表名字 , 下方显示文件中的数据 。


推荐阅读