- 积分
- 429
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-5-12
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2017-9-5 21:27:09
|
显示全部楼层
http://bbs.06climate.com/forum.p ... id=40341&ctid=4
参考这个帖子的第三个:
三、批量读取nc文件
(在此直接引用@kongfeng0824的程序并加以修正。之前@喃喃楠楠喃喃 童鞋说这个程序有问题,经过查看是由于数据类型转变带来的读取问题,程序本身并无大碍。)
clc; %清屏
clear; %清空
datadir='D:\data\降水数据\CPC Unified Gauge-Based Analysis of Daily Precipitation over CONUS\'; %指定批量数据所在的文件夹
filelist=dir([datadir,'*.nc']); %指定批量数据的类型
a=filelist(1).name; %查看你要读取的文件的编号。filelist(1).name在window下为第一个标号数据
b=filelist(2).name; %查看你要读取的文件的编号。filelist(2).name在window下为第二个标号数据
k=length(filelist);
for s=1:k
filename=[datadir,filelist(s).name];
ncdisp('D:\data\降水数据\CPC Unified Gauge-Based Analysis of Daily Precipitation over CONUS\precip.V1.0.1948.nc'); %在命令窗中显示nc文件的变量
%任意取其中一个来看数据中所包含的变量特征,以为下面读取数据变量做铺垫
% ncdisp('D:\data\降水数据\CPC Unified Gauge-Based Analysis of Daily Precipitation over CONUS\precip.V1.0.1948.nc'); %在命令窗中显示nc文件的变量
PrecipData = ncread(filename,'precip'); %读入变量precip
TimeData = ncread(filename,'time'); %读入变量time
LonData = ncread(filename,'lon'); %读入变量lon
LatData = ncread(filename,'lat'); %读入变量lat
end;
其实这个方法不仅适用于nc文件的批量读取,对于其他文件也是触类旁通,大家可以尝试一下。同时,批量读取也并非仅此一种方法,每个人都有每个人的技巧,也有直接利用文件名规律进行批量读取的方法,希望大家踊跃交流,多多分享! |
|