2021년 8월 9일 월요일

Python - Yahoo finance JSONDecodeError



2021-08-10 기존에 잘 되었던 기본적인 Yahoo finance 코드가 동작하지 않아서 해결함


Code
import yfinance as yf
mmm = yf.Ticker('MMM')
mmm.history()

 

Expect Result


Current Result

JSONDecodeError Traceback (most recent call last) <ipython-input-6-68e978705cca> in <module> 1 mmm = yf.Ticker('MMM') ----> 2 mmm.history() ~/opt/anaconda3/lib/python3.8/site-packages/yfinance/base.py in history(self, period, interval, start, end, prepost, actions, auto_adjust, back_adjust, proxy, rounding, tz, **kwargs) 155 "Our engineers are working quickly to resolve " 156 "the issue. Thank you for your patience.") --> 157 data = data.json() 158 159 # Work with errors ~/opt/anaconda3/lib/python3.8/site-packages/requests/models.py in json(self, **kwargs) 896 # used. 897 pass --> 898 return complexjson.loads(self.text, **kwargs) 899 900 @property ~/opt/anaconda3/lib/python3.8/json/__init__.py in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw) 355 parse_int is None and parse_float is None and 356 parse_constant is None and object_pairs_hook is None and not kw): --> 357 return _default_decoder.decode(s) 358 if cls is None: 359 cls = JSONDecoder ~/opt/anaconda3/lib/python3.8/json/decoder.py in decode(self, s, _w) 335 336 """ --> 337 obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 338 end = _w(s, end).end() 339 if end != len(s): ~/opt/anaconda3/lib/python3.8/json/decoder.py in raw_decode(self, s, idx) 353 obj, end = self.scan_once(s, idx) 354 except StopIteration as err: --> 355 raise JSONDecodeError("Expecting value", s, err.value) from None 356 return obj, end JSONDecodeError: Expecting value: line 1 column 1 (char 0)


Solution

pip uninstall yfinance
pip uninstall pandas-datareader pip install yfinance --upgrade --no-cache-dir pip install pandas-datareader

댓글 없음:

댓글 쓰기