如何提取 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
,

所以,感谢罗伯特帮助我,这就是我设法解决它的方法:

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']

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...