TypeError: аргумент типа 'float' не повторяется при поиске в словаре возможных совпадений для слова - PullRequest
0 голосов
/ 26 апреля 2020

Я пишу программу, которая предсказывает цены на акции, и мне нужно найти созданный мной словарь, заполненный названиями компаний и названиями тикеров компаний, и это то, что мне нужно вернуть, чтобы использовать Quandl для получения цен на акции ,

Вот как я создал словарь:

cnames= pd.read_csv('secwiki_tickers.csv')
cnamesDict= pd.Series(cnames.Ticker.values, index=cnames.Name).to_dict()#Fills a dictionary with the 
csv file keys are company names values are ticker names

вот как я ищу в словаре и получаю TypeError: argument of type 'float' is not iterable ошибку:

user_cname = input("Which company would you like to predict stock prices for?\n")
def searchForName(dictToSearch, lookup):
  for k,v in dictToSearch.items():
    if user_cname in k:    // here is where the error flags
      return v 





print(searchForName(cnamesDict, user_cname)) 

Любая помощь ценится. Ссылка на файл CSV LINK

1 Ответ

0 голосов
/ 26 апреля 2020

Вы должны непосредственно искать в словаре название компании, используя метод .get, то есть

def searchForName(dictToSearch):
   return dictToSearch.get(user_cname, 'not found')
...