使用xlwings在excel中的函数调用之间保留python全局变量

Posted

技术标签:

【中文标题】使用xlwings在excel中的函数调用之间保留python全局变量【英文标题】:Keep python global variables between function calls in excel using xlwings 【发布时间】:2017-09-05 16:31:13 【问题描述】:

我正在使用 xlwings 进行一个项目。我有一个问题,我可以在内存中设置全局动态变量,如 pandas 数据框或字典、列表等吗?目前我发现在不同的 runpython VBA 调用之间,数据框似乎丢失了。有人有想法吗?或者您对其他可以做到这一点的插件有什么建议。非常感谢。

【问题讨论】:

【参考方案1】:

似乎xlwings的RunPython VBA宏每次被调用都会启动一个新的Python进程。这意味着您不能在 Python 中使用全局变量在调用之间共享信息。

您可以将数据保存在 Excel 文件中,例如保存在您从 Python 脚本读取和写入的额外工作表中。否则,您将需要使用不同的数据持久性解决方案,例如单独的文件或数据库。

【讨论】:

答案基本上是正确的,但请参阅here 以了解仅适用于 Windows 的相同问题的讨论/破解。

以上是关于使用xlwings在excel中的函数调用之间保留python全局变量的主要内容,如果未能解决你的问题,请参考以下文章

插上翅膀,让Excel飞起来——xlwings

通过xlwings UDF将数据框返回到excel

xlwings module.py 从 excel 调用 python

xlwingsapi要如何导入

python操作excel之xlwings

(转)Python与Excel交互——Xlwings