如何提取netcdf文件的日期?



我有大量的netcdf文件,我需要用特定的纬度和经度裁剪并将其重写为新文件。

我遇到的麻烦是:当写这个新的netcdf文件时,我想用它各自的日期和时间来命名它,比如"yyyymmddhhmm"。nc,但我不知道如何提取文件的日期。下面是一些文件的信息:

processing_level: National Aeronautics and Space Administration (NASA) L2
date_created: 2020-01-01T14:10:01.2Z
cdm_data_type: Image
time_coverage_start: 2020-01-01T14:00:21.7Z
time_coverage_end: 2020-01-01T14:09:52.5Z
timeline_id: ABI Mode 6
production_data_source: Realtime
id: e9ac2711-c550-4b8a-9c27-babcd1fc49f6
dimensions(sizes): lon(5777), lat(5777)
variables(dimensions): |S1 crs(), float64 lat(lat), float64 lon(lon), int16 CMI(lat, lon)

您应该能够使用xarray解决这个问题,假设文件时间被适当格式化。试试以下命令:

import xarray as xr
ds = xr.open_dataset("infile.nc)
ds.time.values

所以,感谢Robert的帮助,我是这样解决的:

import xarray as xr
ds = xr.open_dataset(infile.nc)
date = ds.attrs['date_created']

或者,使用netCDF4:

import netCDF4
ds = netCDF4.Dataset(infile.nc, 'r')
date = ds.__dict__['date_created']

最新更新