python—以前工作的代码现在返回异常

kx1ctssn  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(285)

我试图在几个股票符号之间做一个简单的关联。我以前也运行过同样的代码,它很有效。现在,它返回一个异常,该异常引用了一堆文件,并包含我不理解的其他消息。此外,必须在控制台中手动停止该命令。一般来说,我对python和编程非常陌生。我用的是spyder 5.0.3和anaconda3。我尝试重新安装spyder并更新了使用的软件包,但都没有解决问题。
问题似乎出在yfinance软件包上。当我试图下载单个股票的价格数据时,返回了一个类似的异常。它看起来不像pandas或numpy,因为我能够创建一个小 Dataframe 并毫无问题地运行corrcoff()。值得一提的是,我使用了以下代码:

import pandas as pd
import numpy as np

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)

r = np.corrcoef(df)

以下是以前工作但不再工作的代码:

import pandas as pd
import numpy as np
import yfinance as yf

AAPL = yf.download('AAPL', period='32D', interval='1D')
MSFT = yf.download('MSFT', period='32D', interval='1D')
NVDA = yf.download('NVDA', period='32D', interval='1D')

corr3 = pd.DataFrame([AAPL['Close'],
                   MSFT['Close'],
                   NVDA['Close']])

r = np.corrcoef(corr3)

运行该文件时,控制台中会出现以下异常:

Exception in thread Thread-10:
Traceback (most recent call last):
  File "C:\Users\jdejo\anaconda3\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "C:\Users\jdejo\anaconda3\lib\threading.py", line 870, in run
    self._target(*self._args,**self._kwargs)
  File "C:\Users\jdejo\anaconda3\lib\site-packages\multitasking\__init__.py", line 102, in _run_via_pool
    return callee(*args,**kwargs)
  File "C:\Users\jdejo\anaconda3\lib\site-packages\yfinance\multi.py", line 167, in _download_one_threaded
    data = _download_one(ticker, start, end, auto_adjust, back_adjust,
  File "C:\Users\jdejo\anaconda3\lib\site-packages\yfinance\multi.py", line 179, in _download_one
    return Ticker(ticker).history(period=period, interval=interval,
  File "C:\Users\jdejo\anaconda3\lib\site-packages\yfinance\base.py", line 157, in history
    data = data.json()
  File "C:\Users\jdejo\anaconda3\lib\site-packages\requests\models.py", line 900, in json
    return complexjson.loads(self.text,**kwargs)
  File "C:\Users\jdejo\anaconda3\lib\json\__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "C:\Users\jdejo\anaconda3\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\jdejo\anaconda3\lib\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)

我想知道我的代码出了什么问题。它过去有用,现在不行了。任何指导都将不胜感激。

vsmadaxz

vsmadaxz1#

我已经解决了这个问题。我需要通过spyder中的控制台更新yfinance。我一直在使用命令提示符更新软件包。

相关问题