簡體   English   中英

如何在 python 的 netcdf 文件中讀取變量的值?

[英]How can I read values of a variable in a netcdf file in python?

我有一個名為air.sig995.2012.nc的 NetCDF 文件。 它有四個變量: ('lat','lon','time','air')

我正在嘗試讀取任何變量的值,讓我們說變量air使用下面的行:

import scipy.io.netcdf as S
fileobj=S.netcdf_file('air.sig995.2012.nc','r')
data=fileobj.variables['air'].getValue()

但它給了我以下錯誤:

ValueError:只能將大小為 1 的數組轉換為 Python 標量

我對 python 相當陌生。 誰能幫我解決這個問題。

您期望的 output 非常模棱兩可,但兩種方法都應該根據您的具體目標起作用。

`import xarray as xr `
### open netcdf file ###
df = xr.open_dataset('path/file.nc')

### extract values of variable 'air' ####
air = df['air'][:]
air_flat = df['air'].values.flatten() # 1-d data

如果不是 xarray,您可以使用 netcdf4-python 庫以相同的切片語法執行此操作:

from netCDF4 import Dataset

nc = Dataset('air.sig995.2012.nc')
my_array = nc.variables['air'][:]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM