yfinance下载数据出现这个错误如何解决
How to fix this error with yfinance downloading data
我使用 yfinance 有一段时间了。当我去度假用 yfinance 下载数据时,pandas_datareader 停止为我工作。我猜这是由与不同连接有关的事情引起的。当我度假回来时,我的代码仍然存在问题,而我之前使用的代码没有问题。我不明白错误消息,如果有人能帮助解决问题,我将不胜感激。
这是一些基本代码:
import pandas as pd
import yfinance as yf
import datetime as dt
start = dt.date(2020,1,1)
end = dt.date(2021,1,1)
ticker = 'AAPL'
df = yf.download(ticker,start,end)
print(df)
此代码过去对我有用,但我现在收到以下错误消息:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/multitasking/__init__.py", line 102, in _run_via_pool
return callee(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/yfinance/multi.py", line 168, in _download_one_threaded
actions, period, interval, prepost, proxy, rounding)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/yfinance/multi.py", line 183, in _download_one
rounding=rounding, many=True)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/yfinance/base.py", line 157, in history
data = data.json()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/requests/models.py", line 898, in json
return complexjson.loads(self.text, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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)
我在 PrantaPalit 和 r-beginers 的评论帮助下解决了这个问题。我通过更新 python 来更新 yfinace:
sudo python3 -m pip install --upgrade yfinance
代码现在似乎运行良好。谢谢
尝试 reinstalling/upgrading yfinance
并执行此代码。它对我有用。
sudo python3 -m pip install --upgrade yfinance
我使用 yfinance 有一段时间了。当我去度假用 yfinance 下载数据时,pandas_datareader 停止为我工作。我猜这是由与不同连接有关的事情引起的。当我度假回来时,我的代码仍然存在问题,而我之前使用的代码没有问题。我不明白错误消息,如果有人能帮助解决问题,我将不胜感激。
这是一些基本代码:
import pandas as pd
import yfinance as yf
import datetime as dt
start = dt.date(2020,1,1)
end = dt.date(2021,1,1)
ticker = 'AAPL'
df = yf.download(ticker,start,end)
print(df)
此代码过去对我有用,但我现在收到以下错误消息:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/multitasking/__init__.py", line 102, in _run_via_pool
return callee(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/yfinance/multi.py", line 168, in _download_one_threaded
actions, period, interval, prepost, proxy, rounding)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/yfinance/multi.py", line 183, in _download_one
rounding=rounding, many=True)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/yfinance/base.py", line 157, in history
data = data.json()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/requests/models.py", line 898, in json
return complexjson.loads(self.text, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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)
我在 PrantaPalit 和 r-beginers 的评论帮助下解决了这个问题。我通过更新 python 来更新 yfinace:
sudo python3 -m pip install --upgrade yfinance
代码现在似乎运行良好。谢谢
尝试 reinstalling/upgrading yfinance
并执行此代码。它对我有用。
sudo python3 -m pip install --upgrade yfinance