amygod 发表于 2007-6-17 10:01

一个用于问卷调查结果输入excel的程序

function polltuo
%问卷调查结果的处理:本程序处理全为选择题的问卷,共133题,若干题目有多选ABCD分别
%以1234代表
%MADE FOR TUO
%SPECIFICATION:
%This code is used to read&write the poll data from txt document to exce-
%l and finally to spss system.
%NOTE:
%It is impossible to write data into computers without your fingers,...
%This program also needs your hands but uses less time to complete the
%same complicate work.
%Just enjoy it...^_^
%AUTHOR:LIQING 2007-4-3
pol1=textread('data01.txt','%c');%读入的数据按一列给出,不按照原来的行列划分
pol=pol1';
for i0=1:136
h0=0;
for i1=i0:136:(length(pol1)-136+i0)
h0=h0+1;
pol2(h0,i0)=pol1(i1);
end
end
b=0;
n=136;%所有数字位数
n1=length(pol1)/n;
t=zeros(n1,133);%现在只能输入一组数据......唉...
for h=1:n1   %length(pol1)
    b=b+1;%data 行数加1
p=zeros(133,2);%133 为问卷的题目总数 2表示两列,其中一列为十位数,一列为个位数
for l=1:28
    p(l,:)=;
end   %循环用来赋值,对象为一位数
for l=30:104
    p(l,:)=;
end   %循环用来赋值,对象为一位数
for l=106:128
    p(l,:)=;
end   %循环用来赋值,对象为一位数
for l=130:133
    p(l,:)=;
end   %循环用来赋值,对象为一位数
p(29,:)=pol2(h,29:30);
p(105,:)=pol2(h,106:107);
p(129,:)=pol2(h,131:132);%两位数单独赋值
k=0;
pp=double(p)-48*ones(size(p));
q=zeros(1,133);
for i=1:133
    k=k+1;
    if pp(i,2)<0
      q(i)=pp(i,1);
    else
      q(i)=pp(i,2)+10*pp(i,1);
    end
end
t(h,:)=q;
end
xlswrite('spss01',t);
页: [1]
查看完整版本: 一个用于问卷调查结果输入excel的程序