Python输出到Excel

2024-04-20 12:18:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在Excel中创建一个宏来调用python代码,并将matplotlib和pandas中的一些图表实时输出到同一个Excel工作表。有没有一种方法可以在不关闭Excel文档的情况下实时输出到Excel?你知道吗

我试过一些东西,但他们只允许你创建新的文档,创建新的工作表,并对关闭的文件输出到Excel。你知道吗

我希望在熊猫和matplotlib的图表输出显示在Excel完成时。你知道吗


Tags: 文件方法代码文档pandasmatplotlib图表情况
2条回答

当然。免费查看xlwings,它允许您针对打开的工作簿运行代码。你知道吗

您想执行什么代码取决于您自己,但一个简单的示例是:

import xlwings as xw

wb = xw.Book('test.xlsx')

worksheet = wb.sheets('Tab1');

worksheet.range('A1').value = "Hello There';

这将得到一个实时的工作簿,其中单元格A1被更新为“Hello There”。当然,您可以做更多的事情,比如在panda中生成图形,然后插入单元格,等等

安德鲁!你知道吗

要让Excel文件运行python代码,您需要创建一个shell对象来运行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联系起来的方法。你知道吗

相关问题 更多 >