#感谢公众号“遥感代码星球”,分享学习#

代码介绍:读取nc文件

输出内容显示:

✅变量基本信息

✅变量列表,属性

✅数据统计

代码

import os
import xarray as xr
import numpy as np

ORIGINAL_DATA_DIR = "E:/你的路径" # ✏️
file_path = os.path.join(ORIGINAL_DATA_DIR,'ESA_CCI','你的nc文件.nc')  # ✏️

if not os.path.exists(file_path):
    print(f"❌ 文件不存在:{file_path}")
else:
    try:
        print(f"✅ 正在尝试打开: {file_path}")
        ds = xr.open_dataset(file_path, engine="h5netcdf")
        ds.load()
        print("✅ 成功打开文件内容如下:")
        print(ds)
        print("📦 变量列表:", list(ds.data_vars.keys()))
        
        if '你的变量' in ds:                              # ✏️
            pr = ds['你的变量']                           # ✏️
            print("数据的统计:")
            print("最小值:", pr.min().item())
            print("最大值:", pr.max().item())
            print("平均值:", pr.mean().item())
            print("变量属性:", pr.attrs)
            # 检查时间维度名并提取对应矩阵
            time_dim = [dim for dim in pr.dims if dim in ['time', 'year', 'day']]
            if len(time_dim) > 0:
                matrix = pr.isel({time_dim[0]: 0})  # 动态适配
                matrix_values = matrix.values
                print(f"📊 第一个 {time_dim[0]} 步的矩阵数据如下:")
                print(matrix_values)
            else:
                print("⚠️ 没有时间维度,直接输出矩阵:")
                print(pr.values)
        else:
            print("❌ 文件中没有找到 '你的变量' 变量,请检查变量名称。")
    except Exception as e:
        print("❌ 读取文件时发生错误:", e)
input("👀 检查完毕,按 Enter 退出...")

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐