如何在python中读取netcdf文件中的变量值?

2024-03-29 04:59:39 发布

您现在位置: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: can only convert an array of size 1 to a Python scalar

我对python相当陌生。有人能帮我吗


Tags: 文件ioimportdatatimeasnetcdfscipy
2条回答

您期望的输出非常模糊,但这两种方法都应该根据您心中的特定目标来工作

`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'][:]

相关问题 更多 >