2016-09-29 73 views
0

我寫了一個使用xlwings庫的Python腳本,以便從特定的電子表格中獲取函數輸入。這個想法是我從Excel運行這個代碼(導入xlwings模塊作爲VBA模塊)。我可以像這樣運行它(例如,使用Excel中的VBA中的RunPython命令),也可以在PyCharm中運行腳本時設置模擬調用程序,這使我更容易輸入函數輸入。從Excel調用Python(通過xlwings RunPython)的運行時是否可以改進?

這個設置工作正常,在PyCharm中運行腳本時平均需要2秒。但是,當我從Excel運行它時,平均需要大約30秒(兩次給定同一組數據輸入)。

所以它看起來像Excel調用Python所花費的時間是相當重要的 - 有沒有人有任何建議如何加快?這大概需要多長時間才能從Excel運行python?

在此先感謝

回答

0

目前,xl​​wings的默認行爲是火了,你叫RunPython一個新的解釋器會話每次。這自然會產生額外費用,但在現代系統中,通常只需要2-3秒,而不是您所看到的。
在Windows上,您可以在VBA設置中切換OPTIMIZED_CONNECTION = True,然後使用COM服務器在兩次調用之間保持運行,在docs中閱讀更多關於它的內容。

相關問題