前言
调用Python的意义
Excel是天然的良好界面,用Excel来输入输出,调用Python处理核心计算,或者通过Python调用其他API处理核心计算(比如调用ChatGPT API),可以省去大量编写界面的工作。
Python处理Excel很容易,但反过来在Excel里调用Python就比较麻烦。幸好我们有开源的xlwings。Anaconda自带xlwings,连安装都不需要。
【----帮助Python学习,以下所有学习资料文末免费领!----】
在Excel中显示xlwings
具体而言,有以下几个步骤:
-
显示VBA菜单, 文件-选项-自定义功能区-开发工具
-
显示xlwings选项卡,菜单-开发工具-加载项-勾选xlwings
-
信任宏,文件-选项-信任中心-信任中心设置-宏设置-信任对VBA工程对象模型的访问 这样设置之后就可以在Excel的菜单看到xlwings模块。但是还需要一些初始化工作。
环境设置
Anaconda里的xlwings没有初始化addin,需要手动初始化。可以在Anaconda的command line环境里输入:
-
xlwings addin install (官方推荐)
-
或者 xlwings config create --force
注意,设置完之后,xlwings的选项卡中的interpreter或conda路径应为python.exe所在的路径,不然xlwings就找不到python。如下图所示:

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

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,…)即可。

生产工具
尽管火速更新了我的生产工具,但仍然感觉整个市场回到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

3271

被折叠的 条评论
为什么被折叠?



