Dear support team,
I am asking for your help regarding a bug.
For instance, by running this Python script with Python 3.6.7 and library eikon 1.0.0, provided that I am connected to the Eikon API through my account key:
import numpy as np
import pandas as pd
import eikon
eikon.set_app_key('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
ETF_db = pd.read_excel("ReportEikon_ETF_20180224.xlsx", header = 0)
ric_list = np.array((ETF_db[['Lipper RIC']]))
for ric in ric_list[0:2]:
print(ric[0])
Constituents, err = eikon.get_data(ric[0], ['TR.IndexConstituentRIC', {'TR.IndexConstituentWeightPercent':{'sort_dir':'desc'}}, 'TR.PctOfSharesOutHeld'], {'SDate':'2019-01-31'})
print(Constituents)
cuserscedifdesktopgpichardeikonreporteikon-etf-201.txt
Here is the standard error appearing in my console :
Traceback (most recent call last):
File "ETF_ID.py", line 15, in <module>
Constituents, err = eikon.get_data(ric[0], ['TR.IndexConstituentRIC', {'TR.IndexConstituentWeightPercent':{'sort_dir':'desc'}}, 'TR.PctOfSharesOutHeld'], {'SDate':'2019-01-31'})
File "/home/gpichard/anaconda3/lib/python3.7/site-packages/eikon/data_grid.py", line 169, in get_data
return get_data_frame(result, field_name)
File "/home/gpichard/anaconda3/lib/python3.7/site-packages/eikon/data_grid.py", line 218, in get_data_frame
headers = [header['displayName'] for header in data_dict['headers'][0]]
KeyError: 'headers'
The issue appears randomly : if I run the same script several times in a row, the bug may appear at the first iteration, or at the n-th iteration, or not a all. I need to iterate over several thousands items (ETFs Lipper RICs).
I have attached an excerpt of my dataset : I use an Excel (.xlsx) file actually. Adapting the Python script for a .txt file (only accepted format on this forum) is straightforward with the routine from library pandas.
This issue has kept happening after reinstalling the eikon Python library and over several Windows 10 (with GNU/Linux Ubuntu subsystem) machines at our faculty.
Has it been documented and is there a workaround ?
--
Greg Pichard
Assistant - CEDIF (data centre)
HEC Lausanne - University of Lausanne
Switzerland