检查用户输入的字符串是否在字典中,如果是,则返回值。

问题描述 投票:0回答:1

我正在写一个股票价格预测程序,用户输入他们希望预测的公司和未来多少天,然后程序应该搜索一个字典,其中一个quandl CSV文件,公司名称和公司股票名称内。全名已经被分配到键,股票名称已经被分配到相应的键。我想做的是检查用户在字典(键)中输入的字符串是否部分匹配,然后返回键的值。以下是我目前的代码,但它并不能100%地工作,它告诉我在字典中没有匹配。

#download dependancies and import packages
import quandl as quandl #module for getting the financial data
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.svm import SVR
from sklearn.model_selection import train_test_split
import csv
import pandas as pd
cnames= pd.read_csv('secwiki_tickers.csv')
cnamesDict= pd.Series(cnames.Ticker.values, index=cnames.Name).to_dict()

#Get the company name user want to predict numbers for and check against the (cnamesDict)
user_cname = input("Which company would you like to predict stock prices for?\n")
def searchForName(dictToSearch, lookup):
  for key, value in dictToSearch.items():
     for v in value:
      if lookup in v:
        return value




print(searchForName(cnamesDict, user_cname)) 

当我输入 "Facebook "时,它告诉我有一个没有匹配。任何帮助是非常感激的,这里也是一个链接到csv文件。CSV链接

python pandas quandl
1个回答
0
投票

如果你输入'Facebook, Inc.',因为那是你提供的CSV中的名称?

© www.soinside.com 2019 - 2024. All rights reserved.