运行此代码时出现错误:

import datetime as dt
import pandas_datareader.data as web

start = dt.datetime(2018,12,1)
end = dt.datetime.now()
df = web.DataReader('brk.b', 'yahoo', start, end)

print(df)


我收到“关键错误:'日期'”

那是SP 500中唯一没有严格字母的股票,因此我的程序无法运行。股票代码中只有字母的所有其他股票都可以正常工作。我添加了一个try / except来跳过此库存,但是我想知道为什么会发生这种情况以及如何解决(如果可能)。提前致谢

编辑:找出一种可行的解决方法,这是编辑:

更改:

'brk.b'


至:

'brk.b'.replace('.','-')


使用replace时,如果您的股票行情清单很大,则可以调用列表,使用replace将句点替换为破折号,它应该能够获取该公司的数据

最佳答案

基于此信息:https://github.com/pydata/pandas-datareader/issues/282。有些股票必须手动添加“-”(或用“-”替换“。”)才能与Yahoo合作,例如BF-B,BRK-B,FCE-A,JW-A,LGF-A ,LGF-B,PBR-A,RDS-A,RDS-B。

希望这可以帮到你。

09-16 19:28