在Excel中有很多有趣好玩的函数,比如求和、求平均数等函数 。当这些函数不能满足工作需要时,我们都会使用VBA开发自定义函数来满足 。比如说汉字转拼音的功能 。接下来我们使用Python开发类似功能 。
接下来,我们编写4个函数,求和、求平均数、汉字转拼音、汉字转声调函数 。源代码如下 。
import xlwings as xw新建
import pypinyin
@xw.func
@xw.arg('data',ndim=2)
def py_sum(data):
for row in data:
return row[0]+row[1]
@xw.func
@xw.arg('data',ndim=2)
def py_avg(data):
for row in data:
return (row[0]+row[1])/2
@xw.func
def py_pinyin(word):
s = ''
for i in pypinyin.pinyin(word, style=pypinyin.NORMAL):
s += ''.join(i)
return s
@xw.func
def py_yinjie(word): # 带声调的(默认)
s = ''
# heteronym=True不开启多音字
for i in pypinyin.pinyin(word, heteronym=False):
s = s + ''.join(i) + " "
return s
注意:@xw.arg('data',ndim=2)代码指不考虑区域的形状,强制返回值为2维列表 。这样就可以把Excel中的单元格区域转换为Python中的2维列表,方便处理 。
xlwing_call_func_pinyin.xlsm文件,添加xlwings.bas模块后,点击菜单“开发工具”下代码面板上的“宏”按钮,在弹出界面上, 点击“ImportPythonUDFs”,点击“执行”按钮,这样会把当前同名文件中的Python函数导入到VBA中来 。如图所示 。
文章插图
图-导入Python函数
切换到Visual Basic编辑界面,可以看到自动增加了一个模块xlwings_udfs,如图所示 。
文章插图
图-函数导入到Visual Basic编辑环境中
接下来就可以在Excel中随心所欲地使用Python函数了,如图所示 。
文章插图
文章插图
图-求和和平均数
文章插图
文章插图
图- 汉字转拼音
【没搞错吧!Excel中随心所欲地使用Python函数?】
推荐阅读
- 余额宝为什么显示是长城基金而且为什么显示没有钱?余额宝是长城基金的吗
- 为什么菜鸟驿站没有发取件码?
- 粉色|被大牌“埋没”的老国货护肤品!价格便宜还好用,个个都是实力派
- 汽车|云度汽车充电时电池喷火!灭火器丝毫没用 整车烧成空壳
- 乾隆为什么要立嘉庆为皇太子?乾隆为什么没死就让位给嘉庆
- 窗户外面很多苍蝇怎么办 窗户没开窗台上全是苍蝇
- 漆黑的魅影吧无限金币版,街机金手指无限钱特色
- 电商小程序的运营干货,都快来get下吧!
- 蛇死了为什么张着嘴 蛇泡酒没死
- minnie|多学学高圆圆的穿着打扮吧,太有女人味了!