有些 xlwings 的 UDF 使用 @xw.arg 和 @xw.ret。有些则不使用。在什么情况下,开发人员在xlwings中编写UDF时应该使用@xw.arg和@xw.ret?这是一个开发者应该一直遵循的最佳实践问题吗?类似于python的输入法?
我使用的是xlwings 0.19.4,python 3.7,Excel 2016。
来自 文件:
这些装饰器对于UDF来说,就像选项方法对于Range对象一样:它们允许你将转换器及其选项应用到函数参数(@xw.arg)和返回值(@xw.ret)上。例如,如果要将参数 x 转换为 pandas DataFrame,并在返回时抑制索引,你可以做如下操作。
@xw.func
@xw.arg('x', pd.DataFrame)
@xw.ret(index=False)
def myfunction(x):
# x is a DataFrame, do something with it
return x