4

我正在使用 Excel 中集成的路透社来检索市场数据。对于任务自动化,我目前使用 VBA,但现在我想切换到 python。该包pyxll没有太大帮助,因为原理与VBA相同(我需要在Excel中并单击RUN按钮......)所以我正在考虑使用win32com通过COM对象从外部访问Excel。但是,当我这样做时:

from win32com.client import Dispatch 
xlApp = Dispatch("Excel.Application")

此代码打开一个新的 Excel 实例,其中没有 Reuter 插件(因此我不能使用 Reuter 函数来检索数据)。我不知道如何从 python 访问 Excel-with-Reuter 实例?我已经查看了Com Explorer该服务并没有看到除 Excel 之外的任何其他服务

4

4 回答 4

3

尝试这个 -

import os
from win32com.client import GetObject

os.startfile(r'C:\path\to\ReutersExcel.exe')
xlApp = GetObject(None, 'Excel.Application')
于 2013-04-23T04:52:53.723 回答
2

如果您使用 Excel 访问 Thomson Reuters Dataworks Enterprise(以前的 Datastream),请查看 pydatastream(https://github.com/vfilimonov/pydatastream) - 它允许您将数据直接获取到 python in pandas.DataFrame 格式。

于 2014-10-20T08:13:01.593 回答
1

如果您使用 Excel VBA,则很有可能出现错误结果(您也很难编写更多代码来处理可能导致问题的状态)。

根据我的经验,我们应该直接从提要中使用数据并对其进行操作。它易于维护且可靠(我肯定在 python 中这样做)。

我正在使用 PyRFA 来使用来自我的 P2PS 的数据并对其进行操作(这个 API 很棒,因为它目前是免费的!它提供了消费者和提供者的能力)。以下是此 API 的更多详细信息:

http://www.devcartel.com/pyrfa

您需要做的是联系他们的支持团队以获取更多详细信息并开始繁荣编码!

干杯,迈克尔

于 2013-09-17T01:13:09.887 回答
1

您可以使用以下代码启动加载项:在选择自动登录之前制作 sur。

Import win32com.client
xl = win32com.client.DispatchEx("Excel.Application")
于 2015-04-20T15:43:04.187 回答