[英]Python output to Excel in real time
我想在Excel中創建一個宏,該宏調用我的python代碼,並從matplotlib和pandas實時輸出一些圖表到同一Excel Sheet。 是否可以在不關閉Excel文檔的情況下實時輸出到Excel?
我已經嘗試了一些方法,但是它們只允許您創建新文檔,創建新工作表以及處理已關閉的文檔以輸出到Excel。
我希望完成后以Excel和pandas和matplotlib制作的圖表輸出。
絕對。 免費檢查xlwings ,它使您可以對打開的工作簿運行代碼。
您想執行什么代碼取決於您,但是一個簡單的示例將是:
import xlwings as xw
wb = xw.Book('test.xlsx')
worksheet = wb.sheets('Tab1');
worksheet.range('A1').value = "Hello There';
這將為您實時提供一個工作簿,其中單元格A1更新為“ Hello There”。您當然可以做更多的事情,例如在熊貓中生成圖形,然后在單元格上插入等等。
安德魯!
要讓您的Excel文件運行python代碼,您需要創建一個外殼對象來運行Python.exe-負責編譯和運行實際代碼以及.py腳本。
Option Explicit
Sub RunPythonScript()
Dim objShell As Object
Dim PythonExe, PythonScript As String
'' Create a new Object shell.
Set objShell = VBA.CreateObject("Wscript.Shell")
'' Change the Pyhton Executable path to what's on your computer
'' USE TRIPLE QUOTES WHEN FILE PATH CONTAINS SPACES.
PythonExe = """C:\Program Files (x86)\Microsoft Visual
Studio\Shared\Python36_64\python.exe"""
'' Change the script string to the path of your .py file you want to run
PythonScript = ""
'' Run the Python Script
objShell.Run PythonExe & PythonScript
End Sub
至於讓matplotlib和pandas更新工作表本身,我相信最好的方法是在Python代碼中處理這些步驟。
以我謙卑的選擇,最好在python代碼下執行整個過程,但這是將其綁定到Excel的一種方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.