【matlab 数据处理】excel读取和写出,匹配

一、需求分析
有两个excel,第一个excel有股票,日期,年限
第二个excel有 日期,各个年限利率(x2,X3,X4)
根据日期和年限 匹配国债利率
把匹配结果写回第一个excel
当日对应期限国债利率

数据形式:

这里写图片描述

这里写图片描述

matalb源代码:

clc,clear all
%% 
% 读取excel数据,data存放数值数据,text存放文本数据
[data1,text1]  = xlsread('E://ID//data//工作簿1.xlsx');
[data2,text2]  = xlsread('E://ID//data//国债利率.xls');
%%
%处理工作簿1,取证券简称、上市日期、债券期限(年)
X0=text1(2:end,[2,4]);
X1=data1(:,3);
%%

% 处理国债利率这个表格数据

%日期
X2=text2(2:end,1);
%国债利率
X3_2=data2(:,1);
X3_3=data2(:,2);
X3_4=data2(:,3);
X3_5=data2(:,4);
X3_6=data2(:,5);
X3_7=data2(:,6);
X3_8=data2(:,7);
X3_9=data2(:,8);
X3_10=data2(:,9);
X3_15=data2(:,10);
X3_20=data2(:,11);
X3_30=data2(:,12);

%%
%开始匹配国债利率length(X0)
for i=1:length(X0)
   %找到债券期限(年)
    num=X1(i,1);
    %找到上市日期
    day=X0(i,2);

    %找到国债利率表格的日期的索引
    [ind,col]=find(strcmp(X2(:,1),day));
    switch num
        case 2
            rate=X3_2(ind,1);
            X1(i,2)=rate;

        case 3
            rate=X3_3(ind,1);
            X1(i,2)=rate;

        case 4
            rate=X3_4(ind,1);
            X1(i,2)=rate;
        case 5
            rate=X3_5(ind,1);
            X1(i,2)=rate;

        case 6
            rate=X3_6(ind,1);
            X1(i,2)=rate;

        case 7
            rate=X3_7(ind,1);
            X1(i,2)=rate;
        case 8
            rate=X3_8(ind,1);
            X1(i,2)=rate;

       case 9
            rate=X3_9(ind,1);
            X1(i,2)=rate;

       case 10
            rate=X3_10(ind,1);
            X1(i,2)=rate;

        case 15
            rate=X3_15(ind,1);
            X1(i,2)=rate;

        case 20
            rate=X3_20(ind,1);
            X1(i,2)=rate;
        case 30
            rate=X3_20(ind,1);
            X1(i,2)=rate;
        otherwise
            X1(i,2)=0;

    end

end

X1
%%
%将匹配结果写回excel

filename = 'E://ID//data//工作簿1.xlsx';
A =X1(:,2);
sheet ='工作表1';
xlRange = 'R2';
xlswrite(filename,A,sheet,xlRange)

%%

最终结果:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东华果汁哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值