2016-07-26 177 views
1

范围

我使用XLWings为明显,以获取外部数据源的数据,做了一下在Python改造,然后将其泵到Excel 。XLWings/Excel中的问题处理“多单元格数组公式”

我正在使用UDF来做到这一点(Windows 10,Excel 2016 32位)。

我意识到的唯一方法是使用“多单元阵列公式”将2维数据(Pandas数据框)添加到Excel工作表中。

问题

“多单元格数组公式”似乎有多种限制,我还没有找到一个解决方案,如何:返回的数据帧的

  • 处理动态的大小(这是规则而不是例外,看到我comment on github太)
  • 格式表(不可能)应用着色,排序和过滤
  • 添加到数据模型(不可能)为即加入
  • (还有什么不工作?)

问题

如何等处理呢?

回答

1

xlwings v0.10引入了动态数组,请参见release notes。现在

你可以这样做:

import xlwings as xw 
import numpy as np 

@xw.func 
@xw.ret(expand='table') 
def dynamic_array(r, c): 
    return np.random.randn(int(r), int(c)) 

,你可以通过简单地写入左上角单元格使用公式,而不需要让一个Excel数组公式。

相关问题