我编写了一个使用xlwings库的Python脚本,以便从特定的电子表格中获取函数输入。我的想法是从Excel运行此代码(已将xlwings模块作为VBA模块导入)。我可以像这样运行它(即从Excel中,使用VBA中的RunPython命令),或者我可以在PyCharm中运行脚本时设置Mock Caller,这样我就可以更容易地输入函数输入。
这个设置工作正常,在PyCharm中运行脚本时平均需要2秒钟。但是,当我从Excel运行它时,平均需要大约30秒(两次都给出相同的数据输入集)。
所以看起来Excel调用Python需要的时间相对较大 - 有没有人对如何加快速度有任何建议?这大概是从Excel运行python需要多长时间?
提前致谢
答案 0 :(得分:0)
目前,xlwings的默认行为是每次调用RunPython
时启动一个新的解释器会话。这自然带来了开销,虽然在现代系统上它通常只需要2-3秒,而不是你所看到的。
但是,在Windows上,您可以在VBA设置中切换OPTIMIZED_CONNECTION = True
,然后使用在不同呼叫之间保持运行的COM服务器,在docs中阅读更多相关信息。