首页 > 解决方案 > 缺少数据处理的 While 循环

问题描述

我想遍历一个有日期索引和值的文件。向后循环将有助于防止检查没有数据的日期。所以它应该在找到第一个日期时停止。我设置了一个今天的日期,更改为与文件中日期相对应的适当格式,尝试查找数据并将日期更改为前一天,如果没有找到数据。我认为一段时间的外观是好的。逻辑似乎没问题,但代码不起作用。任何帮助,将不胜感激。我的代码是:

fiat_balance = []
today = datetime.today()
while False:
  date = today.strftime('%m/%d/%Y')
  date = date+' 10:30:00'
  fiat_balance = pd.concat([cp.loc[date],pt.loc[date]], axis=0, keys=[2,3]).fillna(0)
  today-= timedelta(days=1)

标签: python

解决方案


你认为具体while False会实现什么?

如果您希望向后或以其他方式进入该循环,那是错误的做法。

相反,您可能应该有类似的东西:

fiat_balance = []
today = datetime.today()
while True:
    date = today.strftime('%m/%d/%Y 10:30:00')
    fiat_balance = pd.concat([cp.loc[date],pt.loc[date]], axis=0, keys=[2,3]).fillna(0)
    if thatWorked:
        break
    today -= timedelta(days=1)

当然,你必须thatWorked为你的特定场景定义什么,我只是把它作为一个占位符。


推荐阅读