使用开始和结束日期设置循环

时间:2015-10-27 23:07:07

标签: python-3.x timestamp

这是我的一位朋友帮助我的代码,以便将来自不同测量系统,时间戳和布局的文件放到.csv文件中。 您输入时间段或类似于1天以下的情况,代码在不同的文件和文件夹中查找此时间戳,调整时间戳(不同的时区等)并将所有内容放入一个容易绘制的.csv文件中。现在我需要为不同的布局重写那些东西。我设法让一切正常工作,但现在我不想每天手动输入代码:-(因为我需要连续输入3次 - >为了得到一天的时间在同一天的文件中,dateFromdateTo需要相同,并且在writecsv...部分您需要再次输入日期。

这是代码:

from importer import cloudIndices, weatherall, writecsv,averagesolar
from datetime import datetime
from datetime import timedelta

dateFrom = datetime.strptime("2010-06-21", '%Y-%m-%d')
dateTo = datetime.strptime("2010-06-21", '%Y-%m-%d')
....
code 
code
....
writecsv.writefile("data_20100621", header, ciData)

我可以在此更改哪些内容,以便在2010-06-21至2011-06-21之间获取所有数据的自动循环

P.S。如果我在2010-06-21中输入了dataFrom而在2011-06-21中输入了dateTo,那么我会得到一个巨大的简历。包含所有数据的文件.....我认为这是一个好主意,但它对绘图并不是很好,所以我开始日复一日地手动输入,如果你经常这样做的话也不错2或3天,但现在出现了一个日期,我需要将代码用于它: - (

1 个答案:

答案 0 :(得分:0)

一般来说,您应该使用datetime.datetimedatetime.timedelta,以下是一个示例:

from datetime import datetime
from datetime import timedelta

# advance 5 days at a time
delta = timedelta(days=5)

start = datetime(year=1970, month=1, day=1)
end = datetime(year=1970, month=2, day=13)

print("Starting from: %s" % str(start))
while start < end:
    print("advanced to: %s" % str(start))
    start += delta
print("Finished at: %s" % str(start))

这个小片段创建了一个开始和结束时间以及使用python提供的工具推进的增量。您可以修改它以满足您的需要或将其应用于您的逻辑中。