<返回更多

没搞错吧!Excel中随心所欲地使用Python函数?

2021-04-20  今日头条  Python办公自动化
加入收藏

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中来。如图所示。

没搞错吧!Excel中随心所欲地使用Python函数?

 

图-导入Python函数

切换到Visual Basic编辑界面,可以看到自动增加了一个模块xlwings_udfs,如图所示。

没搞错吧!Excel中随心所欲地使用Python函数?

 

图-函数导入到Visual Basic编辑环境中

接下来就可以在Excel中随心所欲地使用Python函数了,如图所示。

没搞错吧!Excel中随心所欲地使用Python函数?

 


没搞错吧!Excel中随心所欲地使用Python函数?

 

图-求和和平均数

没搞错吧!Excel中随心所欲地使用Python函数?

 


没搞错吧!Excel中随心所欲地使用Python函数?

 

图- 汉字转拼音

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>