如何用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开发编码规范
Sep 08 Python
Python程序员鲜为人知但你应该知道的17个问题
Jun 04 Python
Python3读取文件常用方法实例分析
May 22 Python
Python获取运行目录与当前脚本目录的方法
Jun 01 Python
TensorFlow实现Batch Normalization
Mar 08 Python
python: 判断tuple、list、dict是否为空的方法
Oct 22 Python
Python 等分切分数据及规则命名的实例代码
Aug 16 Python
如何基于python实现归一化处理
Jan 20 Python
Python多线程获取返回值代码实例
Feb 17 Python
Python能做什么
Jun 02 Python
使用Python项目生成所有依赖包的清单方式
Jul 13 Python
python 爬虫之selenium可视化爬虫的实现
Dec 04 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实现WEB动态网页静态
2006/10/09 PHP
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
php通过淘宝API查询IP地址归属等信息
2015/12/25 PHP
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
JavaScript中获取样式的原生方法小结
2014/10/08 Javascript
jQuery基础知识小结
2014/12/22 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
2017/04/20 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
Python中实现的RC4算法
2015/02/14 Python
Python的Django框架中的URL配置与松耦合
2015/07/15 Python
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
python tkinter基本属性详解
2019/09/16 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
2020/02/06 Python
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
瑞士最大的图书贸易公司:Orell Füssli
2019/12/28 全球购物
大学生大二自我鉴定
2013/10/28 职场文书
大三在校生电子商务求职信
2013/10/29 职场文书
教师自我鉴定
2013/12/13 职场文书
保护环境建议书100字
2014/05/13 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/06 其他游戏