Skip to content

python语言解析和读取天机netCDF4数据文件

本说明文档仅简单介绍在python语言脚本中使用netCDF4包和xarray包读取netCDF4数据文件。

假设数据路径存放路径为 /path/to/dir ,以2米气温(2米气温的变量名为t2mz)为例:

方案一: 使用netCDF4 包

python
from netCDF4 import Dataset, num2date
import os

# 假设路径
indir = "/path/to/dir"
var = "t2mz"
filepath = os.path.join(indir, f"{var}.nc")

# 入文件
ds = Dataset(filepath, mode="r")

# 查看变量列表
print("Variables:", ds.variables.keys())

# 读取目标变量
var_data = ds.variables[var]

# 读取目标时间
time_var = ds.variables["time"]
times = num2date(time_var[:], units=time_var.units)

# 展示数据维度和数据信息
print("Shape:", var_data.shape)
print("Dimensions:", var_data.dimensions)
print("Attributes:", {attr: getattr(var_data, attr) for attr in var_data.ncattrs()})

方案二: 使用xarray 包

python
import xarray as xr
import os

# 假设路径
indir = "/path/to/dir"
var = "t2mz"
filepath = os.path.join(indir, f"{var}.nc")

# 读入文件
ds = xr.open_dataset(filepath)

# 查看数据集信息
print(ds)

# 读取变量
var_data = ds[var]

# 读取时间
times = var_data["time"].values

# 维度和属性
print("Shape:", var_data.shape)
print("Dims:", var_data.dims)
print("Attrs:", var_data.attrs)