我想从netCDF文件中取一个变量并打印出来。这里是我的代码使用Python从netCDF文件打印一个变量
import netCDF4
import netCDF4_utils
from netCDF4 import Dataset
from numpy.random import uniform
import csv
B = []
rootgrp = Dataset('test.cdf', 'r', format = 'NETCDF4')
f = open('testoutput.csv','wb')
b = (rootgrp.variables['grid_optical_depth'][:])
for x in b:
B.append(x)
f.write(str(B))
rootgrp.close()
f.close()
当我运行此我得到一个非常大集,这似乎是重复的数据,但我没有看到我的for循环如何这样做,不应该只通过运行数据集一次? 也有人可以说为什么数据打印出每组四行?如果我运行print rootgrp.variables['grid_optical_depth']
我得到
<type 'netCDF4.Variable'>
float32 grid_optical_depth(grid_time, range)
long_name: Grid_Aerosol_Optical_Depth_Profile
units: (n/a)
temporal_average: 20.0
unlimited dimensions:
current shape = (1440, 399)
这是否意味着这两个数字的对应grid_time和愤怒值?我不认为这是事实,因为所有数字都小于1(大约10^-3和-4)。
任何帮助表示赞赏
添加编辑'b =(rootgrp.variables ['grid_optical_depth'] [:,:])'from [http://stackoverflow.com/questions/16641437/importing-variables-from-netcdf-into-python ?rq = 1]让我得到了与之前相同的答案 – KJo
能否请您将a和b重命名为您期望的结果? – 2013-07-23 17:22:17
我已经删除了A,B应该只是一个气溶胶光学部值的列表。我将这些附加到B,因为我不能直接将'(rootgrp.variables ['grid_optical_depth'] [:])'写入文件 – KJo