2017-12-19 13 views
0

Ich arbeite mit einer NC-Datei.Die Datei hat ein Array von Dimensionen Zeit, Nummer, Breite, Länge. Ich habe versucht, die Zeit von Nummer zu Datum über die num2date Methode zu konvertieren.Fehler mit netCDF4 num2date Funktion

time_unit = nc.variables["time"].getncattr('units') # first read the 'units' attributes from the variable time 
print(time_unit) 
time_cal = nc.variables["time"].getncattr('calendar') # read calendar type 
local_time = nc.num2date(t, units=time_unit, calendar=time_cal) # convert time 
print("Original time %s is now converted as %s" % (time[0], local_time[0])) 

Aber ich bin mit dem folgenden Fehler konfrontiert.

AttributeError       Traceback (most recent call last) 
<ipython-input-124-d9912be48299> in <module>() 
     2 print(time_unit) 
     3 time_cal = nc.variables["time"].getncattr('calendar') # read 
calendar type 
----> 4 local_time = nc.num2date(t, units=time_unit, calendar=time_cal) # 
convert time 
     5 print("Original time %s is now converted as %s" % (time[0], 
local_time[0])) 

netCDF4\_netCDF4.pyx in netCDF4._netCDF4.Dataset.__getattr__ 
(netCDF4\_netCDF4.c:20474)() 

netCDF4\_netCDF4.pyx in netCDF4._netCDF4.Dataset.getncattr 
(netCDF4\_netCDF4.c:19433)() 

netCDF4\_netCDF4.pyx in netCDF4._netCDF4._get_att (netCDF4\_netCDF4.c:4451() 

AttributeError: NetCDF: Attribute not found 

Irgendwelche Lösungen?

Antwort

0

nc ist Ihre offene netCDF-Datei, aber num2date in netCDF4 befindet:

>>> import netCDF4 
>>> netCDF4.num2date 
<function netCDF4._netCDF4.num2date> 

Daher ist es wie folgt aufrufen:

local_time = netCDF4.num2date(t, units=time_unit, calendar=time_cal) 
Verwandte Themen