如何用Matlab和Python读取Netcdf文件

 更新时间:2021年02月19日 15:40:25   作者:梵蒂冈宝石  
这篇文章主要介绍了如何用Matlab和Python读取Netcdf文件,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下

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打开之后的基本界面,上方为命令功能区,右侧为命令行输入栏,左上角为当前路径中文件夹详情,左下角为软件工作区。

读取nc文件的命令

%% 显示结构 
% ncdisp(ncFilePath);%显示nc文件的所有结构,以便大概了解里面的内容 
% ncdisp(ncFilePath,'evap');%显示指定变量的内容,注意一定要是变量variables才可以 
% ncdisp(ncFilePath,'/','min');%简单显示结构以及定义 
% ncdisp(ncFilePath,'/','full');%全部显示所有结构和定义信息 

然后调用ncread读取变量值:

vardata = ncread(source,varname)

vardata = ncread(source,varname,start,count,stride)

(1)start

varname所指定变量的每一维的开始读取的位置

(2)count

从start指定的开始位置算起,一共读取的每一维要素的数目

(3)stride

从start开始,每一维读取的数目为count时,每一维的读取的步长

更新:用python读取.nc文件

安装netCDF4库

导入nc库,用Dataset函数读取文件信息

f.variables.keys()读取所有变量名称

f.variables.items()读取所有变量信息

读取单个变量的值

以上就是如何用Matlab和Python读取Netcdf文件的详细内容,更多关于Matlab和Python读取Netcdf文件的资料请关注脚本之家其它相关文章!

相关文章

  • Flask学习笔记之日志操作配置实例讲解

    Flask学习笔记之日志操作配置实例讲解

    这篇文章主要为大家介绍了Flask学习笔记之日志操作配置实例讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • pycharm中jupyter的使用图文教程

    pycharm中jupyter的使用图文教程

    这篇文章主要介绍了pycharm中jupyter的使用图文教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • 详解Python中键盘鼠标的相关操作

    详解Python中键盘鼠标的相关操作

    pyautogui模块,规范一点大写就是PyAutoGUI模块,是用来实现自动化脚本的一个十分得力的小助手。他可以操控键盘和鼠标,可以写许多工具。本文就来讲讲如何利用这个模块实现键盘鼠标的相关操作,需要的可以参考一下
    2023-01-01
  • Python机器学习之随机梯度下降法的实现

    Python机器学习之随机梯度下降法的实现

    如果当我们数据量和样本量非常大时,每一项都要参与到梯度下降,那么它的计算量时非常大的,所以我们需要采用随机梯度下降法。本文介绍了Python实现随机梯度下降法的方法,希望对大家有所帮助
    2023-02-02
  • Python读取多列数据以及用matplotlib制作图表方法实例

    Python读取多列数据以及用matplotlib制作图表方法实例

    这篇文章主要给大家介绍了关于Python读取多列数据以及用matplotlib制作图表的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Python中requests、aiohttp、httpx性能比拼

    Python中requests、aiohttp、httpx性能比拼

    本文主要介绍了Python中requests、aiohttp、httpx性能比拼,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • python实现画一颗树和一片森林

    python实现画一颗树和一片森林

    这篇文章主要为大家详细介绍了python实现画一颗树和一片森林,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • 详解Python静态网页爬取获取高清壁纸

    详解Python静态网页爬取获取高清壁纸

    这篇文章主要介绍了Python爬取高清壁纸,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • tensorflow学习笔记之mnist的卷积神经网络实例

    tensorflow学习笔记之mnist的卷积神经网络实例

    这篇文章主要为大家详细介绍了tensorflow学习笔记之mnist的卷积神经网络实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 简单介绍Python下自己编写web框架的一些要点

    简单介绍Python下自己编写web框架的一些要点

    这篇文章主要介绍了简单介绍Python下自己编写web框架的一些要点,示例代码基于Python2.x版本,需要的朋友可以参考下
    2015-04-04

最新评论