This is what I am using but getting error for df_rating_lei
J is something like: US22822RBD17
# ##Get the LEI (ISSUER) of each security
# eikon_lei = pd.DataFrame()
# for j in lei:
# try:
# df = rd.get_data(
# universe = j,
# fields = ['TR.LegalEntityIdentifier'
# ]
# )
# item = df['Legal Entity ID (LEI)']
# df_rating = rd.get_data(
# universe = j,
# fields = ['TR.ISSUERRATING(IssuerRatingSrc=SPI:FIS:MIS:DIS)','TR.IR.RatingSourceDescription(IssuerRatingSrc=SPI:FIS:MIS:DIS)','TR.IR.RatingDate(IssuerRatingSrc=SPI:FIS:MIS:DIS)'],
# parameters = {
# 'SDate': '2010-01-01',
# 'EDate': '2023-02-27',
# }
# )
# df_rating['LEI'] = item
# eikon_lei = pd.concat([eikon_lei, df_rating], ignore_index=True)
# except Exception as e:
# print(f"Error retrieving data for {lei}: {e}")
# error_df = pd.DataFrame({
# "Instrument": [pd.NA],
# "Issuer Rating": [np.nan],
# "Rating Source Description": [np.nan],
# "Date": [np.nan],
# "LEI": [item]
# })
# # a=item.to_string() # formatted Series as a string
# # value = a.split()[1] b=item.astype(str) # Series of strings
# # c=(",".join(item.astype(str)) # "1,2,3"
# # df_rating_lei = rd.get_data(
# # universe = a,
# # fields = ['TR.ISSUERRATING(IssuerRatingSrc=SPI:FIS:MIS:DIS)','TR.IR.RatingSourceDescription(IssuerRatingSrc=SPI:FIS:MIS:DIS)','TR.IR.RatingDate(IssuerRatingSrc=SPI:FIS:MIS:DIS)'],
# # parameters = {
# # 'SDate': '2010-01-01',
# # 'EDate': '2023-12-31',
# # }
# # )
# eikon_lei = pd.concat([eikon_lei, error_df], ignore_index=True)