python读取nc文件

nc文件的处理方式比较多,可以用MATLAB、JAVA、C、python或者其他的语言。我这两天折腾用python读取nc文件,查阅很多资料,左拼右凑的终于读出来了。

1、安装Anaconda

1)Anaconda的安装这里有详细的讲解。搜索“Anconda”,进入官网下载。我的电脑上安装的是python3.7,因此下载的Anaconda版本是python3.7。在这里插入图片描述
2) 双击下载好的 Anaconda3-5.3.0-Windows-x86_64.exe 文件进行安装。需要注意的是,来到 “Advanced Options 时”,勾选“Register Anaconda as my default python 3.7”,最后点击finish,安装完毕。
3)安装好后,按下Windows徽标键,在所有程序中,找到Anaconda3,点击Anaconda Navigator在这里插入图片描述
,第一次启用会初始化,加载完成后,界面如下所示。主要是用Spyder编写python代码,读取nc文件,因此需要install Spyder。因为我已经安装了Spyder,因此Spyder下面的框是“Lunch”。未安装时,下面的框是“install”,点击install安装就行。
在这里插入图片描述

2、安装所需要的模块

1)安装模块之前,更换一下Anaconda镜像。

(1)通过conda config 命令生成配置文件,首先进入cmd命令行,输入:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
(2)在命令行输入:conda config --set show_channel_urls yes
(3)在目录 C:\Users<你的用户名> 下就会生成配置文件.condarc,内容如下:
在这里插入图片描述
(4)修改上述配置文件,删除上述配置文件 .condarc 中的第三行,然后保存,最终版本文件如下:
在这里插入图片描述
(5)查看是否生效,通过命令 conda info 查看当前配置信息,内容如下,即修改成功,关注 channel URLs 字段内容
在这里插入图片描述
(6)测试一下,安装爬虫工具包 scrapy,执行命令:conda install scrapy
在这里插入图片描述

2)完成以上更改后,可以安装所需模块了。

首先进行一下更新,在Anaconda Prompt(开始菜单栏 Anaconda3文件下)中输入命令:conda update --all;
然后安装读nc文件所需的模块netCDF4:conda install netCDF4
这样就完成了HDF4模块的安装。

python代码

读nc数据代码:

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""
import netCDF4
from netCDF4 import Dataset
nc_obj=Dataset('e:\\P_CLDAS_RE01_EA16_PRE_HOUR_2015010101.nc')

#查看nc文件有些啥东东
print(nc_obj)
print('---------------------------------------')

#查看nc文件中的变量
print(nc_obj.variables.keys())
for i in nc_obj.variables.keys():
    print(i)
print('---------------------------------------')

#查看每个变量的信息
print(nc_obj.variables['LAT'])
print(nc_obj.variables['LON'])
print(nc_obj.variables['PRCP'])
print('---------------------------------------')

#查看每个变量的属性
print(nc_obj.variables['LAT'].ncattrs())
print(nc_obj.variables['LON'].ncattrs())
print(nc_obj.variables['PRCP'].ncattrs())
print(nc_obj.variables['LAT'].units)
print(nc_obj.variables['LON'].units)
print(nc_obj.variables['PRCP']._Fillvalue)
print('---------------------------------------')

#读取数据值
lat=(nc_obj.variables['LAT'][:])
lon=(nc_obj.variables['LON'][:])
prcp=(nc_obj.variables['PRCP'][:])
print(lat)
print(lon)
print('---------------******-------------------')
print(prcp)
  • 49
    点赞
  • 287
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值