本帖最后由 po_po1 于 2014-4-27 20:13 编辑

NetCDFFile.dimensions返回{dimName:size,…}维数与大小的字典。通过获得维数的python字典类型中所有条目(键)从而得到所有维数名字。注意netCDF文 件所有维数名字将以python列表形式返回。这些名字是创建变量时所用的维数元组的元素 。

1        NetCDFFile.dimensions.keys()

例如:

1        allDimNames = ncfile.dimensions.keys()

________________________________________

获得一个netCDF维的值

通过dimensions字典获得一个netCDF维的值。注意由于某些原因,获得UNLIMITED维 的当前值用该方法不起作用。该情况下返回值为”None”。然而,总是可以通过 shape属性得到任何变量维的当前值。

dimValue = NetCDFFile.dimensions['dimName']

dimName - name of a netCDF dimension as a Python string

例如:

1        dimValue = ncfile.dimensions['numLevels']

________________________________________

创建一个netCDF变量

实际上netCDF文件中所有数据存储在一个netCDF变量中(除了全局属性)。这儿就是如何 用python创建一个netCDF变量。注意NetCDFFile对象必须创建时使用’w’或’a’模式。同 时注意调用该方法返回一个netCDF变量对象,后面访问变量数据和属性时要用到。

NetCDFFile.createVariable(varName, datatype, dimensions)

varName  - name of the variable

datatype  -  type of the variable.  Most common types are:

'f'  - float

'd'  - double precision float

'i' or 'l' - int or long

'c' - character

'b' - byte

例如:

tempDims = ('dim1','dim2',)

netCDFVar = ncfile.createVariable('temp','f',tempDims)

________________________________________

获得netCDF文件所有变量名字

获得变量名字方法和获得维数名字类似。注意该方法返回NetCDFFile对象的variables字 典的所有键(即变量名字),返回类型为列表。

1        NetCDFFile.variables.keys()

例如:

1        varNames = file.variables.keys()

________________________________________

创建一个netCDF全局属性

创建一个netCDF全局属性稍微不同于创建维或变量。一个普通的python函数被调用代替专 门用于netCDF接口的函数。

setattr(NetCDFFile, attributeName, attributeValue)

NetCDFFile - NetCDFFile object returned from the function NetCDFFile()

attribute name - a Python string  e.g., 'myGlobalAtt'

attributeValue - the value of the attribute

例如:

1        setattr(ncfile,'globalAtt','attValue')

________________________________________

获得所有全局属性

使用python函数dir()取回netCDF文件中定义的每个全局属性的名字。注意这个调用返 回一个python列表,包含当前定义的所有全局属性。由于python工作方式,该列表同时包 含NetCDFFile对象可用的函数名字,包括下面条目: ‘close’,’createDimensions’,’createVariable’,’flush’,’sync’。警告:如果你定义一个全局属性其名字匹配先去提到的条目,当尝试调用该名字的函数时产生错误。所以,不要命名全局属性与上面条目相同的名字

dir(NetCDFFile)

NetCDFFile is the NetCDFFile object created with the NetCDFFile constructor.

例如:

1        globalAttList = dir(ncfile)

________________________________________

获得一个全局属性的值

使用getattr()函数获得一个全局属性的值。该函数同样可用于变量属性。

globalAttValue = getattr(file, globalAttName)

file - NetCDFFile object returned from the function NetCDFFile()

globalAttName  - name of the global attribute

例如:

1        globalAttValue = getattr(ncfile,'globalAttName')

________________________________________

查询一个全局属性是否存在

使用python中hasattr()函数查询一个全局属性是否存在。注意该函数返回一个boolean 值,一般用在一个”if“语句中。

hasattr(NetCDFFile,globalAttName)

globalAttName  - name of the global attribute

例如:

attName = 'myGlobalAttName'

if hasattr(ncfile,attName):

print attName, "exists in this netCDF file"

________________________________________

将所有数据flush到磁盘

有时需要显式将所有netCDF文件修改flush到磁盘,可用sync()函数完成。

1        NetCDFFile.sync()

________________________________________

________________________________________

NetCDF变量操作

本节描述可对NetCDFFile变量执行的操作,包括:写数据、读数据、获得变量的维、及创 建、定义和读变量属性。

________________________________________

获得一个netCDF变量对象

为了访问netCDF变量数据和属性,首先需要获得netCDF变量的python对象。通过访问 NetCDFFile变量字典完成。

NetCDFFile.variables[varName]

varName - name of the netCDF variable as a Python string

例如:

1        var = ncfile.variables['temp']

________________________________________

获得一个netCDF变量的数据类型

有时需要一个netCDF变量的数据类型。typecode()函数就是用于该目的。

typecode = NetCDFVariable.typecode()

typecode = a character value that represents the type of the netCDF variable.

例如:

1        typechar = var.typecode()

________________________________________

获得一个netCDF变量的shape

numpy有一个概念叫数组的shape,是定义netCDF变量大小的维数值的元组。可能获得一个 netCDF变量大小最简单的方法是获得其shape,以一个python元组形式返回。注意“shape” 是变量对象的一个属性,不是函数调用,所以不需要括号。

1        varShape = NetCDFVariable.shape

例如:

1        varShape = var.shape

________________________________________

给一个netCDF变量赋值

使用numpy接口给一个netCDF变量赋值。一般将相同shape的numpy数组赋值给 NetCDFVariable对象。注意如果赋值语句右边数组shape不与netCDF变量相同,不会赋值

NetCDFVariable[:] = data

data - a Numeric Python array of the same shape as the variable

例如:

python如何将数据写入nc_读写nc数据的方法(转载)相关推荐

  1. python把数据写入excel_Python读写sqlite3数据库的方法并且将数据写入Excel的实例详解...

    这篇文章主要介绍了Python实现读写sqlite3数据库并将统计数据写入Excel的方法,涉及Python针对sqlite3数据库的读取及Excel文件相关操作技巧,需要的朋友可以参考下 本文实例讲 ...

  2. python如何将整数写入txt_python如何将数据写入txt

    python将数据写入txt文本文件:首先打开txt文件:然后向文件写入数据,代码为[file_handle.write('hello word 你好 \n'):file_handle.writeli ...

  3. pythonjson数据写入csv_将JSON数据从“Requests”Python模块写入CSV

    JSON data output when printed in command line我当前正在通过API提取数据,并试图将数据写入CSV,以便在SQL中运行计算.我目前能够拉数据,打开CSV,但 ...

  4. python读压缩文件内容_Python读写压缩文件的方法

    问题 你想读写一个gzip或bz2格式的压缩文件. 解决方案 gzip 和bz2模块可以很容易的处理这些文件. 两个模块都为 open()函数提供了另外的实现来解决这个问题. 比如,为了以文本形式读取 ...

  5. python pandas csv 写文件_Pandas读写CSV文件的方法介绍(附代码)

    本篇文章给大家带来的内容是关于Pandas读写CSV文件的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 读csv:使用pandas读取import pandas ...

  6. python读取docx文件出错_Python读写docx文件的方法

    这篇文章主要介绍了关于Python读写docx文件的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 Python读写word文档有现成的库可以处理.我这里采用 python-doc ...

  7. python保存到txt_python 如何将数据写入本地txt文本文件的实现方法

    一.读写txt文件 1.打开txt文件 file_handle=open('1.txt',mode='w') 上述函数参数有(1.文件名,mode模式) mode模式有以下几种: #w 只能操作写入 ...

  8. python写txt数据_python 如何将数据写入本地txt文本文件的实现方法

    一.读写txt文件 1.打开txt文件file_handle=open('1.txt',mode='w') 上述函数参数有(1.文件名,mode模式) mode模式有以下几种:#w 只能操作写入 r ...

  9. python怎么把数据写进txt_python 如何将数据写入本地txt文本文件的实现方法

    一.读写txt文件 1.打开txt文件 file_handle=open('1.txt',mode='w') 上述函数参数有(1.文件名,mode模式) mode模式有以下几种: #w 只能操作写入 ...

最新文章

  1. 几种常用的图像处理函数库
  2. 易语言金盾4.0登陆特征码
  3. 三菱变频器e700参数表_三菱Q系列PLC,用CCLink控制变频器正反转和多段速
  4. Express中app.use中间件的用法-匹配所有的请求方式
  5. php 数组 指针,php之数组指针详解
  6. 我在 GitHub 上看到了一个丧心病狂的开源项目!
  7. 基于CentOS 7 安装Percona XtraDB Cluster(PXC) 5.7
  8. 华为P50系列即将登场:曝线下门店已开始准备样机、物料
  9. Resharper插件如何启用原VS的智能提示
  10. 难道早上起床后就一定要喝一杯白开水吗?
  11. oracle10g em服务没有,如何配置和重建Oracle 10G的em服务 dbcontrol
  12. spring(12)
  13. 【jzoj1747】马蹄印
  14. vue + element 实现文件上传
  15. vscode error: You have not concluded your merge
  16. DM数据库中数据字典表分类及常用查询。
  17. 以Listener和Talker为例ROS1和ROS2代码对比
  18. String的一些方法
  19. 可视化建站系统是什么?
  20. 怎么把mkv文件转成mp4格式,3招立马处理

热门文章

  1. 数据传输安全面临的主要挑战
  2. PHP 格式化显示时间 date() 函数
  3. 酒店行业的当下战略如何推动创新
  4. 这台计算机没有安装并配置网络适配器,win10设备管理器里没有网络适配器的解决方法 - 系统家园...
  5. 视频号的主要功能有哪些,你知道了吗?国仁楠哥
  6. 卡内基梅隆大学计算机专业有哪些,卡内基梅隆大学cs专业
  7. 天勤考研数据结构———单链表操作
  8. 查看Linux服务器磁盘空间命令
  9. 玩家心理角度分析《英雄无敌三》
  10. 长安系统升级无法连接服务器,为什么到现在还说无法连接啊