python循环,检查以前的日期

2024-09-27 19:31:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用SHARADAR/每日数据。数据集/数据帧如下所示

enter image description here

我需要编写一段代码,返回最新的marketcap值

当我编写以下代码时


    trade_date = "2021-05-16"
    df2 = quandl.get_table('SHARADAR/DAILY', ticker='AAPL', date=trade_date)
    print(df2)

结果是数据帧为空

Series([], Name: marketcap, dtype: object)

我需要做两件事

  1. 我需要它返回单个值,而不是数据帧,这样我就可以用它进行算术计算

  2. 我需要创建一个循环来检查。。如果值为空,尝试获取“交易日”的marketcap减去一天,即“2021-05-15”,否则返回marketcap。持续减去一天,直到我们得到一个非空白/非零市值

    空数据帧 列:[股票代码、日期、最新更新、ev、evebit、evebitda、marketcap、pb、pe、ps] 索引:[]


Tags: 数据代码imagegetdateheretabledescription
1条回答
网友
1楼 · 发布于 2024-09-27 19:31:33

如果使用模块datetime将日期保留为datetime对象,则可以使用datetime.timedelta(days=1)获取前一天。然后可以在while True循环中运行它

import datetime

ONE_DAY = datetime.timedelta(days=1)

day = datetime.date(2021, 5, 16)

while True:
    trade_date = str(day)
    #trade_day = day.strftime('%Y-%m-%d')
    print(trade_date)
    day -= ONE_DAY

结果:

2021-05-16
2021-05-15
2021-05-14
2021-05-13
2021-05-12
2021-05-11
2021-05-10
2021-05-09
2021-05-08
2021-05-07
2021-05-06
2021-05-05
2021-05-04
2021-05-03
2021-05-02
2021-05-01
2021-04-30

# etc.

现在,您可以将其与代码一起使用,以获取预期的股票数据

相关问题 更多 >

    热门问题