簡體   English   中英

將Python實時輸出到Excel

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM