如何从雅虎采购一组股票? [关闭]
Posted
技术标签:
【中文标题】如何从雅虎采购一组股票? [关闭]【英文标题】:How source a set stocks from yahoo? [closed] 【发布时间】:2021-01-18 23:07:08 【问题描述】:我有一份股票清单和一家诱人的咨询公司,可以为每个人设定报价。并创建一个数据框以继续分析
result= [['ABEV3.SA', 'AZUL4.SA', 'B3SA3.SA', 'BBAS3.SA', 'BBDC3.SA', 'BBDC4.SA', 'BBSE3.SA', 'BEEF3.SA', 'BPAC11.SA']
for t in result:
ticker[t]=wb.DataReader(t, data_source='yahoo', start='2020-10-1')['High','Low','Open','Close','Volume','Adj Close']
KeyError: ('High', 'Low', 'Open', 'Close', 'Volume', 'Adj Close')
【问题讨论】:
请发布您的代码,而不是您的代码截图。 该代码将列列表转换为单个元组并在数据中搜索该列。该语法似乎不支持多列选择。尝试先选择一列。 @mike67 我怎么能做到?我是python初学者。你能告诉更多,举个例子,谢谢。 【参考方案1】:DataReader
返回一个 pandas 数据框,因此您需要相应地访问数据单元格。
试试这个代码:
import pandas_datareader.data as wb
result= ['ABEV3.SA', 'AZUL4.SA', 'B3SA3.SA', 'BBAS3.SA', 'BBDC3.SA', 'BBDC4.SA', 'BBSE3.SA', 'BEEF3.SA', 'BPAC11.SA']
for t in result:
x = wb.DataReader(t, data_source='yahoo', start='2020-10-1') # return entire dataset for this stock
print('\nStock =',t)
print(x) # print dataset
print('First High =', x.iloc[0]['High']) # get High column from first row
输出
Stock = ABEV3.SA
High Low Open Close Volume Adj Close
Date
2020-10-01 12.78 12.48 12.55 12.70 20845400 12.70
2020-10-02 12.83 12.53 12.61 12.53 18790500 12.53
First High = 12.779999732971191
Stock = AZUL4.SA
High Low Open Close Volume Adj Close
Date
2020-10-01 26.080000 24.83 25.32 25.700001 20951400 25.700001
2020-10-02 25.559999 24.25 25.40 24.270000 14473800 24.270000
First High = 26.079999923706055
........
【讨论】:
以上是关于如何从雅虎采购一组股票? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章