如何用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中使用urllib2获取http请求状态码的代码例子
Jul 07 Python
十个Python程序员易犯的错误
Dec 15 Python
Python简单的制作图片验证码实例
May 31 Python
python实现分页效果
Oct 25 Python
Python装饰器用法实例总结
May 26 Python
Sanic框架路由用法实例分析
Jul 16 Python
python批量下载网站马拉松照片的完整步骤
Dec 05 Python
python调用c++传递数组的实例
Feb 13 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 Python
python os.rename实例用法详解
Dec 06 Python
python爬虫破解字体加密案例详解
Mar 02 Python
python中mongodb包操作数据库
Apr 19 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
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
2013/06/24 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
Laravel实现自定义错误输出内容的方法
2016/10/10 PHP
php实现简单加入购物车功能
2017/03/07 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
用JavaScript对JSON进行模式匹配(Part 1-设计)
2010/07/17 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
js 索引下标之li集合绑定点击事件
2018/01/12 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
Vue仿Bibibili首页的问题
2021/01/21 Vue.js
django连接mysql配置方法总结(推荐)
2018/08/18 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
Python3实现配置文件差异对比脚本
2019/11/18 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
Crocs欧洲官网:Crocs Europe
2020/01/14 全球购物
英国在线定制百叶窗网站:Swift Direct Blinds
2020/02/25 全球购物
优秀毕业生自我鉴定
2014/01/19 职场文书
青年教师典范事迹材料
2014/01/31 职场文书
担保书怎么写
2014/04/01 职场文书
2015年工程部工作总结
2015/04/30 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript
Python合并多张图片成PDF
2021/06/09 Python
CSS使用SVG实现动态分布的圆环发散路径动画
2022/12/24 HTML / CSS