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?
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 684 Datastream
- 1.4K DSS
- 615 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 249 ETA
- 554 WebSocket API
- 37 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 643 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 26 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 192 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛