#python #pandas #yfinance
Вопрос:
Я получаю следующую ошибку при использовании yahoo finance. Я не уверен, что вызывает эту ошибку, она работала час назад без проблем.
Exception in thread Thread-8:
Traceback (most recent call last):
File "/Users/chandlergreff/opt/anaconda3/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/Users/chandlergreff/opt/anaconda3/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/Users/chandlergreff/opt/anaconda3/lib/python3.8/site-packages/multitasking/__init__.py", line 102, in _run_via_pool
return callee(*args, **kwargs)
File "/Users/chandlergreff/opt/anaconda3/lib/python3.8/site-packages/yfinance/multi.py", line 167, in _download_one_threaded
data = _download_one(ticker, start, end, auto_adjust, back_adjust,
File "/Users/chandlergreff/opt/anaconda3/lib/python3.8/site-packages/yfinance/multi.py", line 179, in _download_one
return Ticker(ticker).history(period=period, interval=interval,
File "/Users/chandlergreff/opt/anaconda3/lib/python3.8/site-packages/yfinance/base.py", line 157, in history
data = data.json()
File "/Users/chandlergreff/opt/anaconda3/lib/python3.8/site-packages/requests/models.py", line 898, in json
return complexjson.loads(self.text, **kwargs)
File "/Users/chandlergreff/opt/anaconda3/lib/python3.8/json/__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "/Users/chandlergreff/opt/anaconda3/lib/python3.8/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/Users/chandlergreff/opt/anaconda3/lib/python3.8/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Пожалуйста, найдите мой код ниже
# yahoo finance parameters
stock_symbol = 'JPM'
length = 1
# yahoo date period
now = dt.datetime.now()
max_d = dt.datetime.now().strftime('%Y-%m-%d')
min_d = now.replace(year=now.year-length).strftime('%Y-%m-%d')
# yahoo data download
data = yf.download(stock_symbol, min_d, max_d)
Ответ №1:
Я обновил yfinance, и код сработал.
Вот код, который я/запускал: data1 = yf.загрузка(тикеры = «ШПИОН», начало=дата начала, конец=дата окончания) # индексы акций
Вот мой код обновления, запущенный из командной строки Anaconda, environments, base(root): pip install yfinance —обновление —без кэша-dir