以中国极端气温指数栅格数据集(1961-2020)为例,文件名为SimmEX_FD_ANN.nc,nc文件中包含FD、latitude、longitude和time四个变量,将其中FD变量导出为csv格式。
以下是Matlab代码:
%% 加载nc文件
ncdisp('SimmEX_FD_ANN.nc');
%获取nc文件的信息(ncinfo)
finfo = ncinfo('SimmEX_FD_ANN.nc');
%获取变量信息
vinFD = ncinfo('SimmEX_FD_ANN.nc','FD');
vinlat = ncinfo('SimmEX_FD_ANN.nc','latitude');
vinlon = ncinfo('SimmEX_FD_ANN.nc','longitude');
vintime = ncinfo('SimmEX_FD_ANN.nc','time');
%读取nc文件(ncread)
%读取nc文件中指定变量中的所有数据
var_FD = ncread('SimmEX_FD_ANN.nc','FD');
var_lat = ncread('SimmEX_FD_ANN.nc','latitude');
var_lon = ncread('SimmEX_FD_ANN.nc','longitude');
var_time = ncread('SimmEX_FD_ANN.nc','time');
%在命令行中查看3维以上的数据
% vardata_FD(:,:,:,:);
%保存三维数组到文件
save('var_FD.mat','var_FD');
%将三维数组转化为二维数组
var_FD2d = reshape(var_FD, [ ], size(var_FD, 3));
%将数据写入CSV文件
csvwrite('FD.csv',var_FD2d);