KeyError: headers
Hi there,
I am trying to pull revenue segment data of companies based on a list of RIC codes. And get the keyerror: "headers".
My code looks as follows:
#Making list of instrument codes
riclist_HIP = data_2.Instrument.to_list()
#Calling the data
data_3,err = ek.get_data(riclist_HIP, ['TR.BGS.GeoTotalRevenue.segmentName', 'TR.BGS.GeoTotalRevenue','TR.CompanyName'])
data_3
Error:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-17-b29cf30df8f5> in <module>
1 #Making TR API Call
----> 2 data_3,err = ek.get_data(riclist_HIP, ['TR.BGS.GeoTotalRevenue.segmentName', 'TR.BGS.GeoTotalRevenue','TR.CompanyName'])
3 data_3
~/opt/anaconda3/lib/python3.7/site-packages/eikon/data_grid.py in get_data(instruments, fields, parameters, field_name, raw_output, debug)
195 return result
196
--> 197 return get_data_frame(result, field_name)
198
199
~/opt/anaconda3/lib/python3.7/site-packages/eikon/data_grid.py in get_data_frame(data_dict, field_name)
244 headers = [header.get('field', header.get('displayName')) for header in data_dict['headers'][0]]
245 else:
--> 246 headers = [header['displayName'] for header in data_dict['headers'][0]]
247 data = pd.np.array([[get_data_value(value) for value in row] for row in data_dict['data']])
248 if len(data):
KeyError: 'headers'
Could you please assist?
I saw other people have posted around this error but was unclear on how to adapt the solutions proposed to my case.
Many thanks in advance
Best Answer
-
The issue was that the RIC list I was trying to call was too long for the Eikon API to handle.
I divided the list into chunks and used a for loop to iterate over the chunks of the list.
See example below:
#Making chunks of the list of RICs in order for the API call to process it
chunklist = chunk(riclist, 100)
chunklist
#Using a for loop to get the data based on the chunks of RIC list
content_df = []
for subs in chunklist:
RICs = ek.get_symbology(subs, from_symbol_type='ISIN', to_symbol_type= 'RIC')
content_df.append(RICs)
content_df = pd.concat(content_df)
0
Answers
-
Hi @Erik77
Please provide what API version you are using? (you can print out ek.__version__)
Please provide sample riclist_HiP (what RICs you used?)
0 -
Hi @chavalit.jintamalit.
I am using version 1.1.2
Here is the sample of the RICs list.
['MAERSKb.CO','3319.HK','AAAA.L','2018.HK','AAK.ST','AALB.AS',
'CFEB.BR','AAON.OQ','AIR.N','ARLG.DE','AAN.N','ABP.AX','ABBN.S','ABT.N','ABBV.N','BITI.PA','2670.T','ABCA.L','ABG.MC','ABEO.OQ','ANF.N','ASL.L','nan','ABMD.OQ','ABM.N','ABNd.AS','AEV.PS',
'AP.PS','AXAS.OQ','ABGJ.J','ADCB.AD','ACIA.OQ','ACTG.OQ','ACADE.ST','ACHC.OQ','ACAD.OQ','AKR.N','ACC.NS','AXDX.OQ','XLRN.OQ',
'ACCG.AS','AX1.AX','ACN.N','4813.T','ACSO.L','ANA.MC','ACCO.N',
'ACCP.PA','2345.TW','ARAY.OQ','ACEh.V','ACES.JK','ACE.MI','2353.TW','ACX.MC','AKAOQ.PK','ACIW.OQ','ACKB.BR','ACRS.OQ','ACNB.OQ','8572.T','ACOR.OQ']0 -
Thank you for providing the details. I'm afraid I do not reproduce the issue you describe.On my end the get_data call using the exact set of RICs and fields that you used returns the data as expected. Are you able to reproduce the issue consistently on your end? Is there any pattern to the problem you may have noticed?
1
Categories
- All Categories
- 6 AHS
- 39 Alpha
- 162 App Studio
- 4 Block Chain
- 5 Bot Platform
- 17 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 370 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 60 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛