python - 从文件中为每个时间戳添加 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"))
解决方案
首先,从文件名中提取包含日期时间的字符串。你已经猜对了。然后,将字符串转换为 Pythondatetime
对象。最后,加一个timedelta
15 分钟:
>>> 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)
推荐阅读
- c++ - 有没有办法做一个循环堆栈?
- ios - 如何在 Swift 中通过代码将图像放入按钮中?
- javascript - 应用模板后的 TinyMCE 事件
- c++ - 具有任何嵌套层的数组指针的模板特化
- r - 多对矩阵之间的相似度/距离
- django - Django 媒体文件自动删除
- javascript - 错误:ENOENT:没有这样的文件或目录(在 Node.Js 中)
- xml - 我有一个项目要求我们将 xml 存储在 Azure blob 存储中,但我在分析这些文件时遇到了问题
- scala - 即使在 cli 上间接指定了多次,如何让 sbt 只运行一次任务?
- php - 如何在 php 联系表单和 reCaptcha 中实现垃圾邮件过滤器