如何在 python 中集成 Excel =RTD() 函数

How to integrate Excel =RTD() function in python

我正在使用来自提供实时天气数据的专有应用程序的实时数据。我从数据中知道的是,它提供了一个 link 导入到 excel 为:

=RTD("4cast.wetter","city","parameter") 该参数包括温度、湿度、风速、降雨量等

我尝试阅读 excel 文档中提供的支持 link,但无法了解它是否可以与 Python 一起使用。 http://support.microsoft.com/kb/289150

所以现在我的真正目的是直接在Python中使用RTD函数在excel中接收到的数据。

如 RTD 文档中所述, “调用组件对象模型 (COM) 自动化服务器实时检索数据” 是否有将此 COM 服务器与 Python 集成的中途?

谢谢。

从您提供的 link 来看,Microsoft 似乎为 VBA(但不为 Python)提供了包装器。

如果他向 Python 提供 API,我建议与数据提供者核实。这与 Excel 无关,但它可以让您直接将数据接收到 Python.

另一种选择是使用 RDT 在 Excel 中接收数据,并使用 xlwings 模块 http://xlwings.org/ 之类的东西从 Excel 到 Python 获取数据。

您可以使用 PyXLL 将实时数据作为 RTD 函数流式传输到 Excel。

https://www.pyxll.com/docs/userguide/rtd.html for details, or have a look at this article that shows how to stream live tweets into Excel with Python https://www.pyxll.com/blog/a-real-time-twitter-feed-in-excel/

它不是直接读取到 python,而是使用临时文本文件。 我尝试了以下操作,在 excel 中,我使用 Workbook_SheetCalculate,将 RTD 数据写入文本文件,在每次数据更改时,有时每秒读取 3 次。

从 Python 我用 Pandas 将该文本文件读取到 Dataframe,它几乎是实时的。