Python - 将julian日期转换为月份

时间:2014-03-28 17:24:42

标签: python date julian-date

我有一系列我需要处理的文件名,他们的文件名中包含年份和朱利安日,例如A1998237.tif

如何根据月份(例如1月,2月......)对这些文件进行分组?

这是一个预处理过程,之后我会将这些文件读入内存。然后,我将采用与每个文件相关联的矩阵的平均值来生成月度矩阵。

1 个答案:

答案 0 :(得分:1)

解析朱利安日,将每个文件名归档到该月的字典中:

from datetime import datetime
import os.path

# months from 0 to 11
files_by_month = [[] for _ in range(12)]

for filename in filenames:
    dt = datetime.strptime(os.path.splitext(filename)[0][1:], '%Y%j')
    files_by_month[dt.month - 1].append(filename)

files_by_month使用基于0的索引来每月存储一个列表; 1月是0等等。

这假设文件名始终以一个字母开头,后面是年份+朱利安年份日,后面是扩展名。如果这些假设不正确,您需要提供有关文件名中有哪种模式的更多信息。

示例文件名的演示:

>>> from datetime import datetime
>>> import os.path
>>> filename = 'A1998237.tif'
>>> datetime.strptime(os.path.splitext(filename)[0][1:], '%Y%j')
datetime.datetime(1998, 8, 25, 0, 0)

将在'august'桶中提交,files_by_month[7]