我正在写一个股票价格预测程序,用户输入他们希望预测的公司和未来多少天,然后程序应该搜索一个字典,其中一个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链接
如果你输入'Facebook, Inc.',因为那是你提供的CSV中的名称?