如何用Matlab和Python读取Netcdf文件


Posted in Python onFebruary 19, 2021

NetCDF(网络通用数据格式)文件后缀为.nc,文件中的数据结构包含维(dimensions)、变量(variables)和属性(attributes)三种描述类型,每种类型都会被分配一个名字和一个ID。

从数学上来说,netcdf存储的数据就是一个多自变量的单值函数。用公式来说就是f(x,y,z,...)=value,函数的自变量x,y,z等在netcdf中叫做维(dimension)或坐标轴(axis),函数值value在netcdf中叫做变量(Variables)。而自变量和函数值在物理学上的一些性质,比如计量单位(量纲)、物理学名称等等在netcdf中就叫属性(Attributes)。

NetCDF name{
Dimensions:… //定义维数
Variables:… //定义变量
Attributes:… //属性
Data:…//数据
}

读取.nc文件可以用python的netCdf4模块,也可以用ncbrowser,这里我用的是Matlab。

MATLAB具有数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理、数字信号处理、财务与金融工程等功能。

这是matlab打开之后的基本界面,上方为命令功能区,右侧为命令行输入栏,左上角为当前路径中文件夹详情,左下角为软件工作区。

如何用Matlab和Python读取Netcdf文件

读取nc文件的命令

%% 显示结构 
% ncdisp(ncFilePath);%显示nc文件的所有结构,以便大概了解里面的内容 
% ncdisp(ncFilePath,'evap');%显示指定变量的内容,注意一定要是变量variables才可以 
% ncdisp(ncFilePath,'/','min');%简单显示结构以及定义 
% ncdisp(ncFilePath,'/','full');%全部显示所有结构和定义信息 

如何用Matlab和Python读取Netcdf文件

然后调用ncread读取变量值:

vardata = ncread(source,varname)

vardata = ncread(source,varname,start,count,stride)

(1)start

varname所指定变量的每一维的开始读取的位置

(2)count

从start指定的开始位置算起,一共读取的每一维要素的数目

(3)stride

从start开始,每一维读取的数目为count时,每一维的读取的步长

如何用Matlab和Python读取Netcdf文件

更新:用python读取.nc文件

安装netCDF4库

如何用Matlab和Python读取Netcdf文件

导入nc库,用Dataset函数读取文件信息

如何用Matlab和Python读取Netcdf文件

f.variables.keys()读取所有变量名称

f.variables.items()读取所有变量信息

如何用Matlab和Python读取Netcdf文件

读取单个变量的值

如何用Matlab和Python读取Netcdf文件

以上就是如何用Matlab和Python读取Netcdf文件的详细内容,更多关于Matlab和Python读取Netcdf文件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python基于twisted实现简单的web服务器
Sep 29 Python
Python入门篇之文件
Oct 20 Python
由Python运算π的值深入Python中科学计算的实现
Apr 17 Python
python实现二维插值的三维显示
Dec 17 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
Mar 18 Python
django框架使用orm实现批量更新数据的方法
Jun 21 Python
numpy中三维数组中加入元素后的位置详解
Nov 28 Python
python 检查数据中是否有缺失值,删除缺失值的方式
Dec 02 Python
Python Json数据文件操作原理解析
May 09 Python
python IP地址转整数
Nov 20 Python
python中numpy.empty()函数实例讲解
Feb 05 Python
Django一小时写出账号密码管理系统
Apr 29 Python
python中最小二乘法详细讲解
Feb 19 #Python
python中scipy.stats产生随机数实例讲解
Feb 19 #Python
python的scipy.stats模块中正态分布常用函数总结
Feb 19 #Python
python+opencv实现车道线检测
Feb 19 #Python
python UIAutomator2使用超详细教程
Feb 19 #Python
Python实现曲线拟合的最小二乘法
Feb 19 #Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
Feb 19 #Python
You might like
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
Yii2实现ActiveForm ajax提交
2017/05/26 PHP
jquery遍历input取得input的name
2009/04/27 Javascript
Javascript的构造函数和constructor属性
2010/01/09 Javascript
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
javascript实用小函数使用介绍
2013/11/11 Javascript
jQuery判断元素是否存在的可靠方法
2014/05/06 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
node.js 中间件express-session使用详解
2017/05/20 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
限时抢购-倒计时的完整实例(分享)
2017/09/17 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
2017/11/09 jQuery
对vue中v-if的常见使用方法详解
2018/09/28 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
vue自定义指令directive的使用方法
2019/04/07 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
Python部署web开发程序的几种方法
2017/05/05 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
Django 前后台的数据传递的方法
2017/08/08 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
2019/04/05 Python
Python 依赖库太多了该如何管理
2019/11/08 Python
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
荷叶母亲教学反思
2014/04/30 职场文书
优秀大专毕业生求职信
2014/08/04 职场文书
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL