xlwings 不返回元组

xlwings is not returning tuple

我有一个在 xlwings 中使用的函数,其中 returns 3 值作为一个元组。我想 return 所有这些值到 excel 中的 3 个单元格,而不调用函数 3 次,因为计算是一起进行的。这是一些模拟代码:

@xw.func   
def pull_data_and_calc(search_key):    
    betas = calculations()  # calculations returns a tuple of size 3   
    beta = betas[0]  
    beta_up = betas[1]  
    beta_down = betas[2]  
    return beta, beta_up, beta_down

以前计算过 beta 的人都知道总 beta 是与 beta_up 和 beta_down 一起计算的,因此每个 beta 计算使用 运行 函数效率非常低。对于没有包含更多代码,我深表歉意,但出于合规性原因,这是不可能的,这与输出相对相似。

运行 excel 中的这个函数只显示 beta 值,我无法让它显示 beta_up 或 beta_down。任何帮助都会很棒!

我假设您只是按下 ENTER 键以应用 excel 中的公式。如果没有,没关系。

当您将函数输入 excel 时,选择三个单元格,如下所示:

然后按CTRL+SHIFT+ENTER 将公式作为数组公式输入。这会将公式作为数组应用于所有三个单元格,并允许从 python 函数输出多个 return 值。