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 上使用它。
现在已经足够好了。
我正在尝试从雅虎获取股市数据。 我在获取股票价格和股息方面没有问题,但一旦涉及拆分,我就会出错。
例如 "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 上使用它。
现在已经足够好了。