【无标题】用matlab提取气象站点数据,最后结果:每个站点生成一个表格,表格内部按照年月日等顺序进行排列。

以63年为例:1958-2020,全国有600多个站点的数据。

clc;

clear;

file_path='E:\大论文\中国地面气候资料日值数据集(V3.0)-来源国家气象科学数据中心\V3.0气温、降水\降水\';%指定文件路径

files = dir(file_path);

begin_year=1958;%开始年份

n=numel(files)-6;

ID=[];

M=[];

for i=1:n

    path=strcat(file_path,num2str(i+begin_year-1),'PRE','.csv');

    A=csvread(path,1,1);    

    DateNumber = datenum(A(:,5),A(:,6),A(:,7));

    A=[A DateNumber];

    M=[M;A];

end

ID=M(:,1);

ID=unique(ID);

N=length(ID);

tempM=[];tempN=[];

for i=1:N

    k=find(M(:,1)==ID(i));

    for j=1:length(k)

        tempM=[tempM ;M(k(j),:)];

    end

    tempM=sortrows(tempM,14);

    C=[tempM(:,5:7) tempM(:,10)];%提取的数据对应的列数

    tempN=[tempN; C];

    filename=[num2str(ID(i)) '.csv'];%这里可以加路径如

    %filename=['D:'num2str(ID(i)) '.csv'];%这里可以加路径

    csvwrite(filename,tempN);%写入

% tempN=[tempN tempM(:,5:7) tempM(:,10)];

end

你可能感兴趣的:(matlab)