Excel调用Python,提升工作效率必备,附零基础学习资料!

94 篇文章 0 订阅
55 篇文章 0 订阅

前言

调用Python的意义

Excel是天然的良好界面,用Excel来输入输出,调用Python处理核心计算,或者通过Python调用其他API处理核心计算(比如调用ChatGPT API),可以省去大量编写界面的工作。

Python处理Excel很容易,但反过来在Excel里调用Python就比较麻烦。幸好我们有开源的xlwings。Anaconda自带xlwings,连安装都不需要。

【----帮助Python学习,以下所有学习资料文末免费领!----】

在Excel中显示xlwings

具体而言,有以下几个步骤:

  1. 显示VBA菜单, 文件-选项-自定义功能区-开发工具

  2. 显示xlwings选项卡,菜单-开发工具-加载项-勾选xlwings

  3. 信任宏,文件-选项-信任中心-信任中心设置-宏设置-信任对VBA工程对象模型的访问 这样设置之后就可以在Excel的菜单看到xlwings模块。但是还需要一些初始化工作。

环境设置

Anaconda里的xlwings没有初始化addin,需要手动初始化。可以在Anaconda的command line环境里输入:

  1. xlwings addin install (官方推荐)

  2. 或者 xlwings config create --force

注意,设置完之后,xlwings的选项卡中的interpreter或conda路径应为python.exe所在的路径,不然xlwings就找不到python。如下图所示:

img

xlwings addin

另一个大坑在VBA里,需要找到开发工具-Visual Basic-工具-引用-勾选xlwings,不然会出现“要求对象”这样的奇怪错误:

img

VBA xlwings

使用方法

我们需要一个excel文件和一个python文件,两者需要同名,且在同一个目录。

excel文件需要保存为“Excel启用宏的工作簿(后缀名为xlsm)”。

Python文件里,被Excel调用的函数应在上面加一行 @xw.func

import xlwings as xw

@xw.func  
def ytm_before_tax(issue_date, maturity_date, ytm, coupon_type, coupon, coupon_freq, settlement_date):  
    issue_date = Date.from_string(issue_date, '%Y-%m-%d')  
    maturity_date = Date.from_string(maturity_date, '%Y-%m-%d')  
    settlement_date = Date.from_date(settlement_date)
...

return ytm_tax * 100

要在excel调用这个ytm_before_tax(),只需要在xlwings选项卡点击“Import Functions”,然后像输入Excel公式那样输入=ytm_before_tax(J3,…)即可。

img

生产工具

尽管火速更新了我的生产工具,但仍然感觉整个市场回到10年前的水平。

昨天在Bilibili上花费1小时看了李沐讲解的GPT 1 2 3 三篇论文,论文披露的模型细节越来越少。今天发布的GPT-4,干脆就不公布模型细节了。

整个世界正走向封闭和孤立

所幸,我们还有xlwings,FinancePy等一大批用爱发电的开源的的项目。希望用爱发电的人类优良传统能延续下去。

如果连爱都失去了,人类将如何面对机器人呢?

读者福利:知道你可能对Python感兴趣,便准备了这套python学习资料

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

在这里插入图片描述

入门学习视频

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

在这里插入图片描述

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈

在这里插入图片描述

在这里插入图片描述

资料领取

这份完整版的Python全套学习资料已经上传网盘,朋友们如果需要可以点击下方微信卡片免费领取 ↓↓↓【保证100%免费】
或者

点此链接】领取

好文推荐

了解python的前景:https://blog.csdn.net/xiqng17111342931/article/details/127705925

了解python的副业:https://blog.csdn.net/xiqng17111342931/article/details/127872402

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值