繁体   English   中英

处理NetCDF4文件时遇到问题

[英]Trouble handling a NetCDF4 file

我在使用NetCDF4文件时遇到麻烦。 谁能帮帮我吗。 读入似乎有效。

import netCDF4
f = netCDF4.Dataset('mydata.nc', 'r')

当我尝试调查文件中的内容(>>>打印f)时,我得到了一些信息:

<type 'netCDF4.Dataset'>
root group (NETCDF4 file format):
dimensions: soundings, levels
variables: 
groups: Retrieval, Sounding

...

print f.dimensions 

给我:

OrderedDict([(u'soundings', <netCDF4.Dimension object at 0x2bd24b0>), 
(u'levels', <netCDF4.Dimension object at 0x2bd2500>)])

从我在教程中阅读的内容中,我应该能够通过键入以下内容来检查不同尺寸的长度

print len(soundings) 

但是我收到错误消息“未定义名称'soundings'”。 有人知道我可能做错了吗? 谢谢。

由于未定义名为soundings的变量,因此出现错误。 如果您通过以下方式定义此变量

soundings = f.dimensions[u'soundings']

那么您应该能够使用print len(soundings)找到soundings的长度。

或者,您可以使用以下方法直接访问“声音”维度的长度

print len(f.dimensions[u'soundings'])

我必须承认,我没有使用过netCDF4,因此我简要阅读了netCDF4文档 在“ netCDF文件的尺寸”部分中,它包含以下显示netCDF4数据集尺寸的示例:

>>> print rootgrp.dimensions
OrderedDict([('level', <netCDF4.Dimension object at 0x1b48030>),
             ('time', <netCDF4.Dimension object at 0x1b481c0>),
             ('lat', <netCDF4.Dimension object at 0x1b480f8>),
             ('lon', <netCDF4.Dimension object at 0x1b48a08>)])

(为简便起见,我省略了有关rootgrp来源的详细信息。)以下代码片段中的下一行代码是这样的:

>>> print len(lon)

您可能会错过的是变量lon被进一步声明,因为

>>> lon = rootgrp.createDimension('lon', 144)

本教程的上述部分涉及在netCDF文件中创建新尺寸,而您正在从netCDF文件中读取现有尺寸。 因此,您必须从netCDF文件中获取尺寸。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM