有没有办法在不编写新的 .nc 文件的情况下修改和更新变量中的时间格式?

Is there any way to modify and update time format in a variable without writing a new .nc file?

提问人:A B C 提问时间:11/5/2023 最后编辑:mokenA B C 更新时间:11/5/2023 访问量:38

问:

我有一个网格化的月度降雨量数据集。我想修改和更新现有 NetCDF 文件中“Day”变量中的日期格式,而无需创建全新的文件。在原始文件中,它采用 YYYYMMDD 格式。我将其转换为 YYYY-MM-DD 格式,但是当我调用 .nc 文件时,如何显示新的日期格式?

这是我使用的代码 -

dsPcAD = xr.open_dataset("E:\\rainfall\\BDGR_High_Res_Monthly_Rainfall_1901-2018.nc")

time_data = dsPcAD.variables['Day'][:]

formatted_dates = [datetime.strptime(str(int(date)), '%Y%m%d').strftime('%Y-%m-%d') for date in time_data]

这是原始数据的样子—— -

这是我调用 .nc 文件时想要的修改日期

我尝试将日期格式从 YYYYMMDD 转换为 YYYY-MM-DD,我希望“Day”变量在调用该变量时显示新的时间格式。

Python 时间序列 netcdf

评论

0赞 Eric Bridger 11/5/2023
不知道这里的问题是什么。看不到任何将格式化日期写入 NetCDF 文件的尝试。将time_data(二进制数)转换为日期时间字符串需要创建新的 NetCDF 变量(字符数组)。写入现有文件需要以追加/写入模式打开数据集,例如 mode='a'
0赞 A B C 11/5/2023
谢谢埃里克。但是每次我尝试将格式化日期写入 NetCDF 文件时,它都会显示权限被拒绝。
1赞 Tim Roberts 11/5/2023
您是否有权写入该文件?
0赞 A B C 11/10/2023
@TimRoberts没有。它显示权限被拒绝
0赞 Tim Roberts 11/10/2023
如果您没有写入该文件的权限,则无法在代码中执行任何操作。您需要与您的 IT 团队打交道才能获得写入权限。

答: 暂无答案