如何用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的web.py框架并从hello world开始编程
Apr 25 Python
python基于Tkinter库实现简单文本编辑器实例
May 05 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
May 22 Python
Python实现各种排序算法的代码示例总结
Dec 11 Python
Python使用smtplib模块发送电子邮件的流程详解
Jun 27 Python
python实现神经网络感知器算法
Dec 20 Python
将TensorFlow的模型网络导出为单个文件的方法
Apr 23 Python
python进行TCP端口扫描的实现
Dec 21 Python
Django admin model 汉化显示文字的实现方法
Aug 12 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 Python
Python 虚拟环境工作原理解析
Dec 24 Python
详解Python遍历列表时删除元素的正确做法
Jan 07 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
基于mysql的论坛(7)
2006/10/09 PHP
php调用mysql数据 dbclass类
2011/05/07 PHP
PHP获取当前完整URL地址的函数
2014/12/21 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
2016/01/07 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
2013/12/16 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
原生js实现日期联动
2015/01/12 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
vue-awesome-swiper滑块插件使用方法详解
2017/11/27 Javascript
vue实现移动端悬浮窗效果
2018/12/01 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
微信小程序实现转盘抽奖
2020/09/21 Javascript
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
python创建文件备份的脚本
2018/09/11 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
recorder.js 基于Html5录音功能的实现
2020/05/26 HTML / CSS
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
拉丁舞学习者的自我评价
2013/10/27 职场文书
高级技校毕业生自荐信
2013/11/18 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
大学军训感言1000字
2014/02/25 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
Vue详细的入门笔记
2021/05/10 Vue.js
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers