question

Upvotes
Accepted
3 0 1 3

Programmatically reading rd.get_data errors

Hi Community,

I have a Refinitiv Workspace account and am using the Refinitiv Data Platform API in Python on Windows to resolve a list of CUSIPs and tickers to their RICs as follows:

import refinitiv.data as rd
rd.open_session()
my_tickers = ['AAPL', 'ENPH', 'PROPTC (']
df = rd.get_data(my_tickers,['TR.RIC']) 
rd.close_session()

When I run the above, I get a blank dataframe. When I refer to the log files as to why a blank dataframe was returned, I see the following HTTP Response:

[2023-03-28T10:30:47.393815-04:00] - [sessions.platform.rdp.1] - [DEBUG] - [37232 - MainThread] - [http_service] - [request] - HTTP Response id 5

status_code = 200

text = {"error":{"code":604,"description":"The '(' delimiter is unexpected in identifiers."}}

The error makes sense because the ticker "PROPTC (" had an invalid character. How may I access this "error" programmatically rather than reading the log files manually? The older Eikon API's get_data() returns two dataframes with the second one being a list of errors. Does RDP's get_data() have a similar feature?

Thanks

python#technologyrefinitiv-data-platformpython api
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

· Write an Answer
Upvote
Accepted
5.7k 21 2 6

Hi @cpowr,

You can ask for debugging messages live in your ipynb document via the 'refinitiv-data.config.json' configuration file, setting `console` to true:

1680022481384.png

I point to it when opening rd sessions as such:

rd.open_session(config_name="C:\\Example.DataLibrary.Python-main\\Example.DataLibrary.Python-main\\Configuration\\refinitiv-data.config.json")
rd.open_session("desktop.workspace")

1680022481384.png (7.3 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

That did it, thanks. What if I want to run the above in a Python script and capture the console contents? Would I use the logging library or is there an easier way?

Hi @cpowr, You can use the log file if you want to capture all debug outputs. in the same fine, you can set the 'file' parameter 'enabled' to true.
If you want both the input and output recorded, then I'd advise leaving the 'console' parameter's 'enabled' to true and using the ipynb file itself as your record, since it will have all (input, debug messages and output) included.

I was thinking the same, thanks @jonathan.legrand

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.