matlab文件读写处理实例(一)——不规则文件读取

数据:
A) Title: Income Data

B) Relevant Information:

Marketing Database.

Source: Impact Resources, Inc., Columbus, OH (1987).
A total of N=9409 questionnaires containg 502 questions were
filled out by shopping mall customers in the San Francisco Bay area.

 
 1    ANNUAL INCOME OF HOUSEHOLD (PERSONAL INCOME IF SINGLE)
             1. Less than $10,000
             2. $10,000 to $14,999
             3. $15,000 to $19,999
             4. $20,000 to $24,999
             5. $25,000 to $29,999
             6. $30,000 to $39,999
             7. $40,000 to $49,999
             8. $50,000 to $74,999
             9. $75,000 or more

 2    SEX
             1. Male
             2. Female
 
 3    MARITAL STATUS
             1. Married
             2. Living together, not married
             3. Divorced or separated
             4. Widowed
             5. Single, never married
 
 4    AGE
             1. 14 thru 17
             2. 18 thru 24
             3. 25 thru 34
             4. 35 thru 44
             5. 45 thru 54
             6. 55 thru 64
             7. 65 and Over
 
 5    EDUCATION
             1. Grade 8 or less
             2. Grades 9 to 11
             3. Graduated high school
             4. 1 to 3 years of college
             5. College graduate
             6. Grad Study
 
--------------------------------
 问题:读取上面数据文件中红色部分的数据,将结果保存到元胞数组。
 
fid=fopen('marketing.info.txt','r');
while ~feof(fid)
    line=fgetl(fid);
    if ~ischar(line),break,end
    if length(line)>1 && strcmp(line(2),'2')
        display(line)
         for i=1:2
            line=fgetl(fid);
            SEX{i}=line(17:end);
         end
        %display(line);
        continue;
        continue;
    end
    if length(line)>1 && strcmp(line(2),'3')
        display(line)
        for i=1:4
            line=fgetl(fid);
            MARITAL_STATUS{i}=line(17:end);
        end
        continue;
    end
end
原文地址:https://www.cnblogs.com/xiongyunqi/p/3737227.html