如何用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入门篇之对象类型
Oct 17 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
May 05 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
Jan 10 Python
Python爬豆瓣电影实例
Feb 23 Python
python实现装饰器、描述符
Feb 28 Python
Anaconda下配置python+opencv+contribx的实例讲解
Aug 06 Python
pandas数据集的端到端处理
Feb 18 Python
python sklearn库实现简单逻辑回归的实例代码
Jul 01 Python
解决python 上传图片限制格式问题
Oct 30 Python
python+OpenCV实现图像拼接
Mar 05 Python
python实现超级马里奥
Mar 18 Python
python实现录制全屏和选择区域录屏功能
Feb 05 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
队列在编程中的实际应用(php)
2010/09/04 PHP
PHP用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
探寻PHP脚本不报错的原因
2014/06/12 PHP
JavaScript 私有成员分析
2009/01/13 Javascript
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
JS图片切换的具体方法(带缩略图版)
2013/11/12 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
2016/12/19 Javascript
bootstrap弹出层的多种触发方式
2017/05/10 Javascript
分享Bootstrap简单表格、表单、登录页面
2017/08/04 Javascript
React Native基础入门之调试React Native应用的一小步
2018/07/02 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
浅谈js闭包理解
2019/03/28 Javascript
Vue中全局变量的定义和使用
2019/06/05 Javascript
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
Python守护线程用法实例
2017/06/23 Python
Python对字符串实现去重操作的方法示例
2017/08/11 Python
python的Tqdm模块的使用
2018/01/10 Python
Python中的pack和unpack的使用
2018/03/12 Python
破解安装Pycharm的方法
2018/10/19 Python
django解决跨域请求的问题
2018/11/11 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
Python @property使用方法解析
2019/09/17 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
2020/02/20 Python
浅析python函数式编程
2020/09/26 Python
在vscode中启动conda虚拟环境的思路详解
2020/12/25 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
HTML5的标签的代码的简单介绍 HTML5标签的简介
2012/05/28 HTML / CSS
数据库方面面试题
2012/04/22 面试题
夜大毕业自我鉴定
2013/10/11 职场文书
优秀护士演讲稿
2014/04/30 职场文书