首页 > 解决方案 > 从文件中为每个时间戳添加 15 分钟

问题描述

我有格式的文件时间戳

peakdata_20180821_1615.bz2

我正在抓取数据,我需要从几个月的每个时间戳中添加 15 分钟。问题是我缺少某些文件的数据,所以我想每天增加 15 分钟,例如从 8 月到 10 月。

 for root, dirnames, files in os.walk(r"c:\ahmed\SpeedFT-meter1\peakdata"):
    for j in dirnames:
        for i in range(96):
            s = datetime.strptime(j, '%Y-%m-%d') + timedelta(minutes=15)
            timeStamps.append(s)
            directoary_names.append(root + r'\'' + 'peakdata_' + s.strftime("%Y%m%d_%M%H"))

标签: python

解决方案


首先,从文件名中提取包含日期时间的字符串。你已经猜对了。然后,将字符串转换为 Pythondatetime对象。最后,加一个timedelta15 分钟:

>>> from datetime import datetime, timedelta
>>> datetime.strptime('20180821_1615', '%Y%m%d_%H%M')
datetime.datetime(2018, 8, 21, 16, 15)
>>> datetime.strptime('20180821_1615', '%Y%m%d_%H%M') + timedelta(minutes=15)
datetime.datetime(2018, 8, 21, 16, 30)

推荐阅读