iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >教你在Excel中调用Python脚本实现数据自动化处理的方法
  • 608
分享到

教你在Excel中调用Python脚本实现数据自动化处理的方法

2024-04-02 19:04:59 608人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录一、为什么将python与excel VBA集成?二、为什么使用xlwings?三、玩转xlwings这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进

这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进行集成,更便捷地处理日常工作。

在这里插入图片描述

说起Excel,那绝对是数据处理领域王者般的存在,尽管已经诞生三十多年了,现在全球仍有7.5亿忠实用户,而作为网红语言的Python,也仅仅只有700万的开发人员。

Excel是全世界最流行的编程语言。对,你没看错,自从微软引入了LAMBDA定义函数后,Excel已经可以实现编程语言的算法,因此它是具备图灵完备性的,和javascript、Java、Python一样。

虽然Excel对小规模数据场景来说是刚需利器,但它面对大数据时就会有些力不从心。

我们知道一张Excel表最多能显示1048576行和16384列,处理一张几十万行的表可能就会有些卡顿,当然你可以使用VBA进行数据处理,也可以使用Python来操作Excel。

这就是本文要讲到的主题,Python的第三方库-xlwings,它作为Python和Excel的交互工具,让你可以轻松地通过VBA来调用Python脚本,实现复杂的数据分析

比如说自动导入数据:

在这里插入图片描述

或者随机匹配文本:

在这里插入图片描述

一、为什么将Python与Excel VBA集成?

VBA作为Excel内置的宏语言,几乎可以做任何事情,包括自动化、数据处理、分析建模等等,那为什么要用Python来集成Excel VBA呢?主要有以下三点理由:

  • 如果你对VBA不算精通,你可以直接使用Python编写分析函数用于Excel运算,而无需使用VBA;
  • Python相比VBA运行速度更快,且代码编写更简洁灵活;
  • Python中有众多优秀的第三方库,随用随取,可以节省大量代码时间;

对于Python爱好者来说,pandas、numpy等数据科学库用起来可能已经非常熟悉,如果能将它们用于Excel数据分析中,那将是如虎添翼。

二、为什么使用xlwings?

Python中有很多库可以操作Excel,像xlsxwriter、openpyxl、pandas、xlwings等。

但相比其他库,xlwings性能综合来看几乎是最优秀的,而且xlwings可以实现通过Excel宏调用Python代码。

在这里插入图片描述

图片来自早起Python

在这里插入图片描述

xlwings的入门使用这里不多做讲解,如果大家还不了解,先看看我之前写的入门介绍: xlwings,让excel飞起来!

安装xlwings非常简单,在命令行通过pip实现快速安装:

pip install python

安装好xlwings后,接下来需要安装xlwings的 Excel集成插件,安装之前需要关闭所有 Excel 应用,不然会报错。

同样在命令行输入以下命令:

xlwings addin install

出现下面提示代表集成插件安装成功。

在这里插入图片描述

xlwings和插件都安装好后,这时候打开Excel,会发现工具栏出现一个xlwings的菜单框,代表xlwings插件安装成功,它起到一个桥梁的作用,为VBA调用Python脚本牵线搭桥。

在这里插入图片描述

另外,如果你的菜单栏还没有显示“开发工具”,那需要把“开发工具”添加到功能区,因为我们要用到宏。

步骤很简单:

1、在"文件"选项卡上,转到"自定义>选项"。

2、在“自定义功能区”和“主选项卡”下,选中“开发工具”复选框。

在这里插入图片描述

菜单栏显示开发工具,就可以开始使用宏。

如果你还不知道什么是宏,可以暂且把它理解成实现自动化及批量处理的工具。

到这一步,前期的准备工作就完成了,接下来就是实战!

三、玩转xlwings

要想在excel中调用python脚本,需要写VBA程序来实现,但对于不懂VBA的小伙伴来说就是个麻烦事。

但xlwings解决了这个问题,不需要你写VBA代码就能直接在excel中调用python脚本,并将结果输出到excel表中。

xlwings会帮助你创建.xlsm和.py两个文件,在.py文件里写python代码,在.xlsm文件里点击执行,就完成了excel与python的交互。

怎么创建这两个文件呢?非常简单,直接在命令行输入以下代码即可:

xlwings quickstart ProjectName

这里的ProjectName可以自定义,是创建后文件的名字。

在这里插入图片描述

如果你想把文件创建到指定文件夹里,需要提前将命令行导航到指定目录。

创建好后,在指定文件夹里会出现两个文件,就是之前说的.xlsm和.py文件。

在这里插入图片描述

我们打开.xlsm文件,这是一个excel宏文件,xlwings已经提前帮你写好了调用Python的VBA代码。

按快捷键Alt + F11,就能调出VBA编辑器。

在这里插入图片描述

里面这串代码主要执行两个步骤:

1、在.xlsm文件相同位置查找相同名称的.py文件

2、调用.py脚本里的main()函数

我们先来看一个简单的例子,自动在excel表里输入[‘a’,‘b’,‘c’,‘d’,‘e’]

第一步: 我们把.py文件里的代码改成以下形式。

import xlwings as xw
import pandas as pd

def main():
    wb = xw.Book.caller()
    values = ['a','b','c','d','e']
    wb.sheets[0].range('A1').value = values
@xw.func
def hello(name):
    return f"Hello {name}!"
if __name__ == "__main__":
    xw.Book("PythonExcelTest.xlsm").set_mock_caller()
    main()

然后在.xlsm文件sheet1中创建一个按钮,并设置默认的宏,变成一个触发按钮。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


设置好触发按钮后,我们直接点击它,就会发现第一行出现了[‘a’,‘b’,‘c’,‘d’,‘e’]。

在这里插入图片描述

同样的,我们可以把鸢尾花数据集自动导入到excel中,只需要在.py文件里改动代码即可,代码如下:

import xlwings as xw
import pandas as pd

def main():
    wb = xw.Book.caller()
    df = pd.read_csv(r"E:\\test\\PythonExcelTest\\iris.csv")
    df['total_length'] =  df['sepal_length'] + df['petal_length']
    wb.sheets[0].range('A1').value = df
@xw.func
def hello(name):
    return f"Hello {name}!"
if __name__ == "__main__":
    xw.Book("PythonExcelTest.xlsm").set_mock_caller()
    main()

在这里插入图片描述

好了,这就是在excel中调用Python脚本的全过程,你可以试试其他有趣的玩法,比如实现机器学习算法、文本清洗、数据匹配、自动化报告等等。

Excel+Python,简直法力无边。

到此这篇关于教你在Excel中调用Python脚本实现数据自动化处理的文章就介绍到这了,更多相关Python数据自动化处理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 教你在Excel中调用Python脚本实现数据自动化处理的方法

本文链接: https://www.lsjlt.com/news/138529.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 教你在Excel中调用Python脚本实现数据自动化处理的方法
    目录一、为什么将Python与Excel VBA集成?二、为什么使用xlwings?三、玩转xlwings这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进...
    99+
    2024-04-02
  • 如何在Excel中调用Python脚本,实现数据自动化处理!
    说起Excel,那绝对是数据处理领域王者般的存在,尽管已经诞生三十多年了,现在全球仍有7.5亿忠实用户,而作为网红语言的Python,也仅仅只有700万的开发人员。Excel是全世界最流行的编程语言。对,你没看错,自从微软引入了LAMBDA...
    99+
    2023-05-14
    Python Excel
  • 教你怎么用Python处理excel实现自动化办公
    目录一、介绍二、步骤三、完整代码一、介绍 实现的是把某个文件夹下的所有文件名提取出来,放入一个列表,在与excel中的某列进行对比,如果一致的话,对另一列进行操作,比如我们在统计人员...
    99+
    2024-04-02
  • Linux环境中用Python脚本实现自动化测试的方法
    Linux环境中用Python脚本实现自动化测试的方法随着软件开发的迅猛发展,自动化测试在保证软件质量和提高开发效率方面起着至关重要的作用。而Python作为一种简单易用的编程语言,具有很强的可移植性和开发效率,被广泛应用于自动化测试中。本...
    99+
    2023-10-22
    Python 自动化测试 Linux 关键词:
  • 利用Python脚本在Linux平台下实现任务调度与自动化
    利用Python脚本在Linux平台下实现任务调度与自动化在现代的信息技术环境下,任务调度和自动化已经成为了大多数企业必备的工具。而Python作为一种简单、易学且功能丰富的编程语言,在Linux平台下实现任务调度与自动化是非常方便和高效的...
    99+
    2023-10-22
    自动化 Python Linux
  • 五个方便好用的Python自动化办公脚本的实现
    目录1、自动化阅读网页新闻2、自动生成素描草图3、自动发送多封邮件4、自动化数据探索5、自动桌面提示小结相比大家都听过自动化生产线、自动化办公等词汇,在没有人工干预的情况下,机器可以...
    99+
    2024-04-02
  • Python脚本操作实现快速自动化任务的技巧与方法
    Python脚本操作实现快速自动化任务的技巧与方法导言:随着计算机技术的发展,自动化已经成为许多行业中的必备技能。Python作为一种简单易学且功能强大的编程语言,成为自动化任务的首选工具之一。本文将介绍一些Python脚本操作实现快速自动...
    99+
    2023-10-22
    自动化 Python 脚本
  • Python实现自动化处理Word文档的方法详解
    目录1. 批量生成Word文档2. 将Word文档批量转换成PDF3. 在Word文档中批量标记关键词4. 在Word文档中批量替换关键词使用Python实现Word文档的自动化处理...
    99+
    2024-04-02
  • Python实现自动化处理PDF文件的方法详解
    目录自动化处理PDF文件1. 批量合并PDF文件2. 批量拆分PDF文件3. 批量加密PDF文件4. 批量PDF添加水印完整代码自动化处理PDF文件 使用Python完成简单的PDF...
    99+
    2024-04-02
  • 怎么实现android应用程序自动化测试的批处理脚本
    本篇内容介绍了“怎么实现android应用程序自动化测试的批处理脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!测试平台:兼容androi...
    99+
    2023-06-08
  • 实现自动备份mssql server数据库并压缩的批处理脚本
    本篇内容介绍了“实现自动备份mssql server数据库并压缩的批处理脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读...
    99+
    2024-04-02
  • 怎么用Python实现自动化处理每月考勤缺卡数据
    这篇文章主要介绍“怎么用Python实现自动化处理每月考勤缺卡数据”,在日常操作中,相信很多人在怎么用Python实现自动化处理每月考勤缺卡数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python...
    99+
    2023-07-02
  • python怎么使用dabl实现数据处理分析及ML自动化
    这篇文章主要讲解了“python怎么使用dabl实现数据处理分析及ML自动化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python怎么使用dabl实现数据处理分析及ML自动化”吧!dab...
    99+
    2023-06-25
  • 在Linux系统中使用Python脚本操作MySQL数据库的方法
    在Linux系统中使用Python脚本操作MySQL数据库的方法随着数据处理和存储的需求不断增加,MySQL数据库成为了开发者们常用的选择之一。在Linux系统中,使用Python脚本与MySQL数据库进行交互十分便捷,本文将介绍如何在Li...
    99+
    2023-10-22
    Python Linux MySQL
  • python使用dabl几行代码实现数据处理分析及ML自动化
    目录dabl1、数据预处理2、探索性数据分析3、建模结论数据科学模型开发涉及各种组件,包括数据收集、数据处理、探索性数据分析、建模和部署。在训练机器学习或深度学习模型之前,必须清洗数...
    99+
    2024-04-02
  • 详解Python中数据处理的方法总结及实现
    目录背景常用数据增强方法1、Compose2、RandomHflip3、RandomVflip4、RandomCrop5、Normalize6、Rotate7、RandomRotat...
    99+
    2024-04-02
  • 大数据路径在Python自然语言处理中的应用与优化。
    大数据路径在Python自然语言处理中的应用与优化 随着大数据时代的到来,自然语言处理(NLP)的应用越来越广泛。Python作为一种高效的编程语言,已经成为了NLP领域的首选语言之一。本文将介绍 一、大数据路径的概念 大数据路径是指在大数...
    99+
    2023-06-06
    自然语言处理 大数据 path
  • 同步函数在Java自然语言处理中的作用与实现方法
    随着人工智能技术的发展,自然语言处理(NLP)在各个领域中被广泛应用。Java作为一种高级编程语言,自然也可以用于NLP的开发。在Java中,同步函数被广泛运用于自然语言处理中,起着至关重要的作用。本文将介绍同步函数在Java自然语言处理...
    99+
    2023-10-29
    自然语言处理 同步 函数
  • Python编程在大数据处理中的应用,如何优化算法效率?
    随着大数据时代的到来,数据的规模和复杂度都在不断增加。而对于数据的处理,我们需要使用一些高效的算法和工具。Python作为一种高级编程语言,在大数据处理中也扮演着重要的角色。本文将介绍Python在大数据处理中的应用,并探讨如何优化算法效...
    99+
    2023-08-11
    linux 大数据 编程算法
  • 如何在 Python 编程中使用 numpy 实现高效的实时数据处理?
    Python 是一种十分流行的编程语言,它可以用于各种不同的领域,从科学计算到数据分析再到机器学习等等。在这些领域中,处理大量的数据是非常常见的,而 numpy 就是一个非常强大的工具,可以帮助我们高效地处理大量数据。在本文中,我们将介绍如...
    99+
    2023-07-04
    编程算法 numy 实时
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作