matlab读取任意格式的文本文件

本文介绍如何使用MATLAB读取特定格式的文本文件,如families.txt。内容涉及利用fgetl获取文本行,strsplit进行字符串分割,并通过结构体保存数据,将年龄转换为数字。
摘要由CSDN通过智能技术生成

有些时候,我们需要用matlab读取自定义格式的文本文件。比如有这样一个数据 families.txt:

Bob,32,father;Alice,31,mother;Mike,4,son;Jonh,7,son
Dick,30,father;Judy,30,mother;Sophia,6,daughter

这个文本数据统计了两个家庭的成员,每一行代表一个家庭,家庭的成员用 分号(;) 隔开,每个成员包含了名字、年龄和角色信息,用逗号(,)隔开。因为每个家庭的成员是不一样多的,因此每一行的数据也不一样多。

解析这个格式的思路如下:

1. 利用 fgetl 函数获取一行文本;

2. 利用 strsplit 函数分割字符串;

3. 将数据保存到结构体中,还可以用 num2str 将年龄转换为数字。

fid = fopen('families.txt');
tline = fgetl(fid);
families = [];
family_count = 0;
while tline ~= -1
    strs = strsplit(tline, ';');              % 成员之间用分号分割
    num = length(strs);
    members = [];
    for i = 1:num
        memberStr = strsplit(strs{i}, ',');   % 成员信息用逗号分割
        member.name = memberStr{1};
        member.age = memberStr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值