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

Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @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.


Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.