Я пытаюсь взять одну переменную из файла 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 и rage? Я не думаю, что это так, потому что все числа намного меньше 1 (порядка 10 ^ -3 и -4).
Любая помощь приветствуется
b = (rootgrp.variables['grid_optical_depth'][:,:])
из [stackoverflow.com/questions/16641437/ дал мне тот же ответ, что и раньше - person KJo   schedule 23.07.2013(rootgrp.variables['grid_optical_depth'][:])
непосредственно в файл - person KJo   schedule 23.07.2013