运行代码后出现 ValueError: Invalid interval: valid values are 'd', 'wk' and 'mo'. 'm' and 'w' have been implemented for backward compatibility. 'v' has been moved to the yahoo-actions or yahoo-dividends APIs.
时间: 2023-12-22 17:04:04 浏览: 109
Python 3.x 新特性及10大变化
这个错误是因为`interval`参数的取值不正确。在最新版的`pandas_datareader`中,`get_data_yahoo()`函数支持的时间间隔参数为`'d'`(日线)、`'wk'`(周线)和`'mo'`(月线),而不再支持`'1m'`(1分钟)或`'1w'`(1周)等时间间隔参数。
要解决这个问题,可以将`interval`参数的取值改为`'d'`,即获取日线数据:
```python
import pandas_datareader as pdr
# 获取股票代码为600521,数据源为Yahoo Finance,周期为1天,日期为2023-06-06的数据
df = pdr.get_data_yahoo('600521.SS', start='2023-06-06', end='2023-06-06', interval='d')
print(df)
```
在上述代码中,`interval='d'`表示获取日线数据。执行上述代码后,就可以获取到指定日期的股票日线数据,并将其打印出来。如果需要获取其他时间间隔的数据,可以将`interval`参数的取值改为`'wk'`(周线)或`'mo'`(月线)。
阅读全文