如何用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在linux中输出带颜色的文字的方法
Jun 19 Python
Python中使用装饰器来优化尾递归的示例
Jun 18 Python
Python 经典面试题 21 道【不可错过】
Sep 21 Python
Python递归函数实例讲解
Feb 27 Python
python快排算法详解
Mar 04 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
Jun 04 Python
Django框架视图层URL映射与反向解析实例分析
Jul 29 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
Nov 19 Python
python 如何调用 dubbo 接口
Sep 24 Python
python pymysql库的常用操作
Oct 16 Python
python设置 matplotlib 正确显示中文的四种方式
May 10 Python
numpy array找出符合条件的数并赋值的示例代码
Jun 01 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
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
JQuery扩展插件Validate—4设置错误提示的样式
2011/09/05 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
2015/12/13 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
2018/05/02 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
2019/05/15 Javascript
javascript中的with语句学习笔记及用法
2020/02/17 Javascript
python的即时标记项目练习笔记
2014/09/18 Python
Python代码调试的几种方法总结
2015/04/15 Python
python中import学习备忘笔记
2017/01/24 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
Python子类继承父类构造函数详解
2019/02/19 Python
解决python文件双击运行秒退的问题
2019/06/24 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
Django models filter筛选条件详解
2020/03/16 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
PHP面试题附答案
2015/11/28 面试题
2014年组织委员工作总结
2014/12/01 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书