pandas_datareader 从雅虎获取股票拆分时出错

pandas_datareader error at getting stock splits from Yahoo

我正在尝试从雅虎获取股市数据。 我在获取股票价格和股息方面没有问题,但一旦涉及拆分,我就会出错。

例如 "coca cola" 股票 ('KO')

from pandas_datareader import data

start_date = '2000-01-01'
end_date = '2020-12-31'

a = data.DataReader('KO', 'yahoo-actions', start_date, end_date) 

我收到一个错误(我认为指的是 2:1 股票分割):

File "<string>", line 1
    2:1
     ^
SyntaxError: invalid syntax

如果我 运行 在没有拆分的股票上使用相同的代码(即 'TSLA'),它 运行 没有问题。 我试着把它变成一个字符串,但没有成功。

我没有思路,在网上找不到类似的问题。 有没有人知道可能出了什么问题?

已解决:

在 'pandas_datareader' 库中的文件 'daily.py' 中,我更改了:

if "SPLIT" in types: def split_ratio(row): if float(row["Numerator"]) > 0: return eval(row["Splitratio"]) else: return 1

至:

if "SPLIT" in types: def split_ratio(row): if float(row["Numerator"]) > 0: return row["Splitratio"] else: return 1

现在它可以在本地使用,但我不能在 colab 上使用它。

现在已经足够好了。