Пожалуйста, помогите мне, когда я запускаю свой код, я предполагаю взять 4 алфавитных тикера из моего файла .pickle и использовать pandas_datareader для получения данных от Yahoo.но проблема в том, что он продолжает говорить "нет данных для символа МММ", но ясно, что есть!Я попытался заменить переменную "ticker" на "MMM", и она работает нормально, но она просто не работает, я поместил переменную "ticker"
def save_dow_tickers():
resp = requests.get('https://en.wikipedia.org/wiki/Dow_Jones_Industrial_Average') #Get source code from link
soup = bs.BeautifulSoup(resp.text, 'lxml') #Load source code to text using BeautifulSoup
table = soup.find('table', {'class':'wikitable sortable'}) #Find table called wikitable sortable
tickers = []
for row in table.findAll('tr')[1:]: #Go through every row in table excluding headers
ticker = row.findAll('td')[2].text#Go and get the first column from every row
tickers.append(ticker) #Load data from first column to ticker array
with open('dowtickers.pickle', 'wb') as f: #open file called save_sp500_tickers
pickle.dump(tickers, f) #Dump ticker array in file
print(tickers)
return tickers
def get_data_from_yahoo(reload_dow=False): #Call another function from a function
if reload_dow:
tickers = save_dow_tickers()
else:
with open('dowtickers.pickle', 'rb') as f: #open tickers file and read
tickers = pickle.load(f)
if not os.path.exists('stock_dfs'): #Check if directory exists
os.makedirs('stock_dfs') #Create directory
start = dt.datetime(2008,12,10)
end = dt.datetime(2018,12,10)
for ticker in tickers: #Retrieve data for every ticker in S&P 500
print(ticker)
if not os.path.exists('stock_dfs/{}.csv'.format(ticker)): #Check if data already exsists
df = web.DataReader(ticker, 'yahoo', start, end) #Pull data from Yahoo
df.to_csv('stock_dfs/{}.csv'.format(ticker))
else:
print('Already have {}'.format(ticker))
def get_data_from_yahoo(reload_dow=False): #Call another function from a function
if reload_dow:
tickers = save_dow_tickers()
else:
with open('dowtickers.pickle', 'rb') as f: #open tickers file and read
tickers = pickle.load(f)
if not os.path.exists('stock_dfs'): #Check if directory exists
os.makedirs('stock_dfs') #Create directory
start = dt.datetime(2008,12,10)
end = dt.datetime(2018,12,10)
for ticker in tickers: #Retrieve data for every ticker in S&P 500
print(ticker)
if not os.path.exists('stock_dfs/{}.csv'.format(ticker)): #Check if data already exsists
df = web.DataReader(ticker, 'yahoo', start, end) #Pull data from Yahoo
df.to_csv('stock_dfs/{}.csv'.format(ticker))
else:
print('Already have {}'.format(ticker))