我试着为一只股票获取一些数据,并将这些数据保存在数据库中。我使用的是YFinance,它从雅虎金融获得数据。
ticker = yf.Ticker("BBAS3.SA")
data = ticker.history(period="1y")
print(data[['High', 'Low', 'Open', 'Close']]这一产出如下:
High Low Open Close
Date
2021-02-25 29.291426 27.632709 28.688257 27.764652
2021-02-26 28.122788 26.303854 27.906024 26.435797
2021-03-01 27.133212 26.124786 27.001268 26.256731
2021-03-02 27.698679 25.465068 25.870323 27.265152
2021-03-03 27.971992 26.398096 27.142633 27.321699
... ... ... ... ...
2022-02-21 36.230000 34.970001 36.139999 35.279999
2022-02-22 36.110001 35.369999 35.400002 35.610001
2022-02-23 36.119999 35.610001 35.799999 35.790001
2022-02-24 35.099998 34.090000 34.630001 34.650002
2022-02-25 35.169998 34.529999 34.709999 34.860001
[252 rows x 4 columns]对于每一行,我需要保存数据库上的日期、高/低/开放和关闭价格。
我找不到一种方法来迭代这一行并使其工作。
到目前为止,我最好的尝试是对数据使用for循环[“高”、“低”、“打开”、“关闭”),但我无法访问“日期”字段。
我如何迭代股票历史并得到所有这些字段?
发布于 2022-03-03 14:41:22
由于日期被视为索引,所以您可以简单地将它们称为data.index来迭代它们。
data.index产出:
DatetimeIndex(['2021-03-03', '2021-03-04', '2021-03-05', '2021-03-08',
'2021-03-09', '2021-03-10', '2021-03-11', '2021-03-12',
'2021-03-15', '2021-03-16',
...
'2022-02-16', '2022-02-17', '2022-02-18', '2022-02-21',
'2022-02-22', '2022-02-23', '2022-02-24', '2022-02-25',
'2022-03-02', '2022-03-03'],
dtype='datetime64[ns]', name='Date', length=250, freq=None)例如:
for date in data.index:
print(date)输出:
2021-03-03 00:00:00
2021-03-04 00:00:00
2021-03-05 00:00:00
2021-03-08 00:00:00
2021-03-09 00:00:00
...
2022-02-23 00:00:00
2022-02-24 00:00:00
2022-02-25 00:00:00
2022-03-02 00:00:00
2022-03-03 00:00:00https://stackoverflow.com/questions/71300708
复制相似问题