【发布时间】:2021-07-20 02:42:53
【问题描述】:
import json
import datetime as dt
import matplotlib.pyplot as plt
from matplotlib import style
import pandas as pd
import pandas_datareader.data as web
import yfinance as yf
yf.pdr_override()
style.use('ggplot')
start = dt.datetime(2020,1,1)
end = dt.datetime.now()
df = web.get_data_yahoo('AMD', start, end)
df1 = json.load(df)
print(df1)
错误
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Users\monst\AppData\Local\Programs\Python\Python37\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "C:\Users\monst\AppData\Local\Programs\Python\Python37\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\monst\AppData\Local\Programs\Python\Python37\lib\site-packages\multitasking\__init__.py", line 102, in _run_via_pool
return callee(*args, **kwargs)
File "C:\Users\monst\AppData\Local\Programs\Python\Python37\lib\site-packages\yfinance\multi.py", line 168, in _download_one_threaded
actions, period, interval, prepost, proxy, rounding)
File "C:\Users\monst\AppData\Local\Programs\Python\Python37\lib\site-packages\yfinance\multi.py", line 183, in _download_one
rounding=rounding, many=True)
File "C:\Users\monst\AppData\Local\Programs\Python\Python37\lib\site-packages\yfinance\base.py", line 157, in history
data = data.json()
File "C:\Users\monst\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\models.py", line 900, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Users\monst\AppData\Local\Programs\Python\Python37\lib\json\__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "C:\Users\monst\AppData\Local\Programs\Python\Python37\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\monst\AppData\Local\Programs\Python\Python37\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)
我将 pandas_datareader 更新为 0.7,将我的 pandas 更新为 0.24.1,但它仍然会发生,请解释一下这里发生了什么,我也试试这个方法 .json() 和 to_json() 但没有任何效果
amd = yf.Ticker("amd")
amd_price = amd.history(period="max")
amd_Volume = amd_price["Volume"]
amd_Volume = amd_Volume.reset_index()
amd_Volume = pd.DataFrame(amd_Volume)
print(amd_Volume)
amd_Volume = amd_Volume.sort_values(by="Volume")
print(amd_Volume.tail(1))
看到这段代码为什么会出现同样的错误?
【问题讨论】:
-
非常感谢您发布完整的问题示例!让调试变得非常容易。
标签: json pandas pandas-datareader yfinance