我必须创建一些*.tif
文件,我需要用特定的日期命名它们。例如,我有一个具有152x380
矩阵的*.mat
文件,每行对应一个*.tif
文件和一个特定日期(例如,第1行对应于第一个*.tif
文件,我需要将其命名为20120101
(YYYYMMDD
(,下一行是第二个*.tif
文件,其名称必须为20120102
,依此类推(。你们知道如何根据解释命名*.tif
文件吗?你可以在下面看到我的代码
# Load *.mat file with the precipitation data
root_mat = r"f:myfilePrecip10km.mat"
mat = scipy.io.loadmat(root_mat)
precipitation = mat['out'] #out variable contains the required data
precipitation = np.array(precipitation)
for i in range(len(precipitation)):
array = precipitation[i]
array = np.reshape(array, (19,20))
driver = gdal.GetDriverByName('GTiff')
# In this line the variable "output_raster_name" need to assign a specific date
# (e.g. the first file should be named 20120101, the second 20120102, the third 200120103
# and so on)
new_tiff = driver.Create(output_raster_name, array.shape[1],
array.shape[0], 1, gdal.GDT_Int16)
提前感谢
您可以使用datetime.date
对象并添加天数。
startdate = datetime.date(2022, 7, 29)
for offset, datarow in enumerate(precipitation):
rowdate = startdate + datetime.timedelta(days=offset)
filename = rowdate.strftime("%Y%m%d.tif")
output_raster_name = os.path.join(directory, filename)
new_tiff = driver.Create(output_raster_name, ...)
您可以尝试以下操作:
from datetime import datetime
current_time = datetime.now().strftime('%Y-%m-%d_%H:%M:%S')
file_name = '$your-file-name' + '_' + current_time
file_format = '$your-file-format'
final_file_name_with_extension = file_name + '.' + file_format