question

Upvotes
Accepted
5 0 0 3

Unhashable type: 'list' with rd.discovery.search

Hello everyone,

I try to retrieve bond data with rd.discovery.search function using Python:

start_year = 2021
end_year = start_year + 0
start_date = datetime.date(start_year, 1, 1)
end_date = datetime.date(end_year, 11, 30)
df = rd.discovery.search(
    view=rd.discovery.Views.GOV_CORP_INSTRUMENTS,
    top=10000,
    filter=f"(IssueDate ge {start_date} and IssueDate le {end_date} and (DbType eq 'GOVT' or DbType eq 'CORP' or DbType eq 'AGNC' or DbType eq 'OMUN' or DbType eq 'OTHR') and IssuerCountryName eq 'Germany' )",
    select="RIC,EJVAssetID,DTSubjectName,BusinessEntity,PI,SearchAllCategoryv3,SearchAllCategoryv2,SearchAllCategory,DBSTicker,CouponRate,MaturityDate,IssueDate,ISIN,RCSCurrencyLeaf,RCSCountryLeaf,DbTypeDescription,InstrumentTypeDescription,RCSCouponTypeGenealogy,FaceIssuedUSD,RCSBondGradeLeaf,RCSCountryOfIncorporationLeaf,RCSFIClassificationCodes,SecondPartyOpinionProvider,UNSDGGoalDescription,IsGreenBond,IsESGBond,KPITypeDescription,KPIThemeDescription,SPTDate,KPIActionTypeDescription,ScheduledPayPercent,ESGScore,ESGEnvironmentPillarScore,ESGSocialPillarScore,ESGGovernancePillarScore,ESGCombinedScore,ESGControversiesScore,ESGFinancialPeriodEndDate,ESGEmissionsScore,ESGInnovationScore,ESGResourceUseScore,ESGCommunityScore,ESGHumanRightsScore,ESGProductResponsibilityScore,ESGWorkforceScore,ESGCSRStrategyScore,ESGManagementScore,ESGShareholdersScore,RCSCountryOfIncorporationGenealogy"
)
filename = f"EikonDataAPI_Germany_Bonds_{start_date}_{end_date}.csv"
df.to_csv(filename, index=False)

Everything works fine until the year 2021. Whenever I try to retrieve data from 2021-01-01 or later, I get an error:

---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last)Cell In[7], line 7      4 start_date = datetime.date(start_year, 1, 1)      5 end_date = datetime.date(end_year, 11, 30)----> 7 df = rd.discovery.search(      8     view=rd.discovery.Views.GOV_CORP_INSTRUMENTS,      9     top=10000,     10     filter=f"(IssueDate ge {start_date} and IssueDate le {end_date} and (DbType eq 'GOVT' or DbType eq 'CORP' or DbType eq 'AGNC' or DbType eq 'OMUN' or DbType eq 'OTHR') and IssuerCountryName eq 'Germany' )",     11     select="RIC,EJVAssetID,DTSubjectName,BusinessEntity,PI,SearchAllCategoryv3,SearchAllCategoryv2,SearchAllCategory,DBSTicker,CouponRate,MaturityDate,IssueDate,ISIN,RCSCurrencyLeaf
...
427     return uniquesFile pandas\_libs\hashtable_class_helper.pxi:5910, in pandas._libs.hashtable.PyObjectHashTable.unique()File pandas\_libs\hashtable_class_helper.pxi:5857, in pandas._libs.hashtable.PyObjectHashTable._unique()TypeError: unhashable type: 'list'

I would very much appreciate any hints or tips how to solve the issue.

Thank you in advance.

Christian

#productdatabondsrdp search
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
80.1k 257 52 75

@c.haas

Thank you for reaching out to us.

It could relate to the SPTDate field in the select property.

    select="RIC,EJVAssetID,DTSubjectName,BusinessEntity,PI,SearchAllCategoryv3,SearchAllCategoryv2,SearchAllCategory,DBSTicker,CouponRate,MaturityDate,IssueDate,ISIN,RCSCurrencyLeaf,RCSCountryLeaf,DbTypeDescription,InstrumentTypeDescription,RCSCouponTypeGenealogy,FaceIssuedUSD,RCSBondGradeLeaf,RCSCountryOfIncorporationLeaf,RCSFIClassificationCodes,SecondPartyOpinionProvider,UNSDGGoalDescription,IsGreenBond,IsESGBond,KPITypeDescription,KPIThemeDescription,SPTDate,KPIActionTypeDescription,ScheduledPayPercent,ESGScore,ESGEnvironmentPillarScore,ESGSocialPillarScore,ESGGovernancePillarScore,ESGCombinedScore,ESGControversiesScore,ESGFinancialPeriodEndDate,ESGEmissionsScore,ESGInnovationScore,ESGResourceUseScore,ESGCommunityScore,ESGHumanRightsScore,ESGProductResponsibilityScore,ESGWorkforceScore,ESGCSRStrategyScore,ESGManagementScore,ESGShareholdersScore,RCSCountryOfIncorporationGenealogy"

If I remove this field from the select properly, the code runs fine.

It could be the bug in the library. I will contact the product team to verify what the problem is.


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.

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.