如何用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 ip正则式
May 07 Python
整理Python中的赋值运算符
May 13 Python
Python简单格式化时间的方法【strftime函数】
Sep 18 Python
python os用法总结
Jun 08 Python
python中实现控制小数点位数的方法
Jan 24 Python
Python 实现输入任意多个数,并计算其平均值的例子
Jul 16 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
Aug 17 Python
详解Python self 参数
Aug 30 Python
Python使用循环神经网络解决文本分类问题的方法详解
Jan 16 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
Nov 18 Python
Python djanjo之csrf防跨站攻击实验过程
May 14 Python
Python自动化实战之接口请求的实现
May 30 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
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
全文搜索和替换
2006/10/09 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
2011/08/23 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
JavaScript 指导方针
2007/04/05 Javascript
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
2015/10/09 Javascript
基于jQuery实现的菜单切换效果
2015/10/16 Javascript
JS正则表达式比较常见用法
2016/01/26 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
2019/04/24 Javascript
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
JavaScript闭包相关知识解析
2019/10/19 Javascript
微信小程序实现按字母排列选择城市功能
2019/11/25 Javascript
Python基于twisted实现简单的web服务器
2014/09/29 Python
python itchat实现微信好友头像拼接图的示例代码
2017/08/14 Python
django小技巧之html模板中调用对象属性或对象的方法
2018/11/30 Python
python 输出所有大小写字母的方法
2019/01/02 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
django中的图片验证码功能
2019/09/18 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
经贸专业毕业生求职信
2014/03/23 职场文书
关于保护环境的建议书
2014/05/13 职场文书
爱护公共设施的标语
2014/06/24 职场文书
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
信用卡工资证明范本
2015/06/19 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书