Data access in Excel - Reuter from python

I use Reuters integrated in Excel to get market data. To automate tasks, I am currently using VBA, but now I want to switch to python. The pyxll package pyxll not help much, because the principle is the same as VBA (I need to be inside Excel and press the RUN button ...) Therefore, I am considering using win32com to access Excel from the outside with a COM object. However, when I do this:

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

This code opens a new instance of Excel in which there is no Reuter add-in (therefore, I cannot use the Reuter function to retrieve data). I don't know how to access excel-with-reuter instance from python? I looked at Com Explorer to examine the service, and I did not see any other service except Excel

+2
source share
4 answers

Try it -

 import os from win32com.client import GetObject os.startfile(r'C:\path\to\ReutersExcel.exe') xlApp = GetObject(None, 'Excel.Application') 
+2
source

If you use Excel to access Thomson Reuters Dataworks Enterprise (formerly Datastream), look at pydatastream ( https://github.com/vfilimonov/pydatastream ) - it will allow you to get data directly in python in pandas.DataFrame format.

+2
source

If you use Excel VBA, it has a very high chance of an incorrect result (you also have a very difficult time writing more codes for handling states, which can also cause a problem).

From my experience, we should use the data directly from the feed and manipulate it. It is easy to maintain and reliable (specifically, I do this in python).

I use PyRFA to use the data from my P2PS and manipulate it (this API works great because it is currently free! It provides both consumer and provider capabilities). Here's more details about this API:

http://www.devcartel.com/pyrfa

What you need to do is contact their support team for details and start coding the boom!

Cheers, Michael

+1
source

you can run add-ons with this code: do it before you choose auto-login.

 Import win32com.client xl = win32com.client.DispatchEx("Excel.Application") 
+1
source