Upgrade from Eikon -> Workspace. Learn about programming differences.

For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvote
Accepted
58 4 4 8

Screening using name contains

exp =  "SCREEN(U(IN(Equity(active,public,primary))), IN(TR.ExchangeCountryCode,CA), CURN=CAD)"


exp = "SCREEN(U(IN(Equity(active,public,private,primary))), Contains(TR.CommonName,%s), CURN=CAD)" %name
    

fields = ["TR.CompanyName"]
    

df,e = ek.get_data(exp, fields)

The first exp works, but the second one does not. How is the "Contains" argument supposed to be used? 
eikoneikon-data-apiworkspaceworkspace-data-apirefinitiv-data-platform-eikon
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
Upvotes
Accepted
78.2k 246 52 72

@dshi

The name should in double quotes. I have tried this one and it works.

name = '"Business"'
exp = 'SCREEN(U(IN(Equity(active,public,private,primary))), Contains(TR.CommonName,%s), CURN=CAD)' %name
fields = ["TR.CompanyName"]
df,e = ek.get_data(exp, fields)
print (df)
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.

Thanks!
Also wanted to say that for some reason,

exp = 'SCREEN(U(IN(Equity(active,public,private,primary))), Contains(TR.CommonName,\"%s\"), CURN=CAD)' %name

Doesn't work.

Dear dshi,

Could you say whether it is possible to send list of names and receive all result? I have around 3k company names, where ISIN or similar is not available, so I can search only by names. If i try loop for each name in list than there will be an error indicating too much requests. So is there any way to send list of names and get rics using python or excel maybe (if put all names in a column). Here I am looking for something like get_symbology, where one can send list of ISINs and receive list of RICs.

Thank you very much!

When you say "loop for each name in list" do you mean that you call get_data on the names one at a time? That seemed to work for me. I also added some try excepts to catch HTTPErrors (which are usually returned when the request times out), and KeyErrors (which usually means that the request returned no result).

dshi, is it appropriate to ask you share your code? I am complete novice here and in python. Thanks!

Show more comments

The easiest will probably be to use the =RSearch function in Excel. It doesn't accept a list of names, you can use only one name as a criteria per instance of the function. But the function can be easily multiplied by copying it down the column, and it's not subject to restrictions on the number of requests. Name search is inherently ambiguous and imprecise, but I'm sure you're well aware of this.

Alexander, but the output will differ depending on the name in the request, should I write something like macros to resolve this issue? Unfortunately, I have only names, so such way of searching is only possible for me. Thanks!

Show more comments

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.