python - 如何通过 yfinance 下载数据修复此错误

标签 python dataframe 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)

最佳答案

尝试重新安装/升级yfinance并执行此代码。它对我有用。

sudo python3 -m pip install --upgrade yfinance

关于python - 如何通过 yfinance 下载数据修复此错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68456247/

相关文章:

python - 将 Pandas DataFrame 转换为稀疏矩阵

python - 找到满足条件的特定值 - python

python - 广播 groupby 结果作为原始 DataFrame 中的新列

python - 使用 yfinance 的 Assets 负债表没有像雅虎财经那样的 'Total Debt'

python - 为什么 xlwings 不会从此数据框中复制超过 8 行?

python lxml 与 py2exe

python - 使用 Python 运行 Matlab 会出现 'No module named matlab.engine' 错误

python - 计算 Pandas 中具有相同列值的行的平均值

python - 我可以将 Django runserver 配置为在更改静态或非 python 文件时重新加载吗?

python - 如何计算 Pandas 每周中每天最大值的最常见时间