| 查看: 1661 | 回复: 3 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
matlab如何读取未知行数,带头文件和字段名的txt文件
|
||
|
文件格式是这样的 20120108 50024 X235RZB30801 01 15 2361 2362 2363 2364 2365 2366 2367 2368 2369 236A 236B 236C 236D 236E 236F 18854.49 17757.25 90809.09 98429.45 21283.85 77620.26 45330.92 70173.54 16957.37 -9.51908 18.67279 27.211 22.175 1182.5 1029.49 18854.81 17757.46 90808.71 98429.45 21283.85 77620.20 45330.57 70173.99 16957.39 -9.51824 18.67171 27.206 22.175 1181.1 1029.27 18854.44 17757.52 90808.91 98429.38 21283.85 77620.48 45330.77 70173.82 16957.51 -9.52009 18.67234 27.212 22.175 1181.4 1028.74 18854.70 17757.32 90809.15 98429.46 21283.85 77619.98 45330.61 70173.45 16957.49 -9.51951 18.67069 27.214 22.175 1182.8 1028.04 所有的数据在txt文件中都是以空格符隔开的,以上是为了让大家看清楚才换行间断的。所以整个文件好像是只有一行。 20120108 50024 X235RZB30801 01 15 这些是头文件。 2361 2362 2363 2364 2365 2366 2367 2368 2369 236A 236B 236C 236D 236E 236F 这是十五个字段名。 18854.49 17757.25 90809.09 98429.45 21283.85 77620.26 45330.92 70173.54 16957.37 -9.51908 18.67279 27.211 22.175 1182.5 1029.49 这十五个数据就是每个字段对应的。 列数就是十五,行数应该是1440行,一分钟一行,一天24小时。 试了textread,fscanf,我是matlab新手,一直不知道该怎么样读取。 我想要的结果就是跳过头文件和字段,将数据存储成15列乘1440的矩阵。 如果转换后能在每行数据前加上这一列时间就更好了。 2012-01-08 00:00:00 2012-01-08 00:01:00 2012-01-08 00:02:00 2012-01-08 00:03:00 请大家帮忙实现,非常感谢 [ Last edited by 杨小胖 on 2012-1-14 at 16:51 ] |
» 猜你喜欢
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
孩子确诊有中度注意力缺陷
已经有6人回复
2026博士申请-功能高分子,水凝胶方向
已经有6人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复
同一篇文章,用不同账号投稿对编辑决定是否送审有没有影响?
已经有3人回复
ACS Applied Polymer Materials投稿
已经有10人回复
RSC ADV状态问题
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab读取中国地图
已经有5人回复
MATLAB读取和写入文件的操作!!!!
已经有6人回复
用matlab读取TXT文本其中一列的数据!
已经有11人回复
VC读写TXT中的数据
已经有22人回复
Matlab 如何把计算结果保存为TXT格式!!!急!!!!!!!!!!!!
已经有4人回复
如何用matlab读入带逗号的txt文件,文件中含字母
已经有6人回复
Matlab可以创建读写文件吗?
已经有4人回复
用matlab如何将文件名弄到文件最后一行?
已经有3人回复
matlab反求未知输入参数
已经有4人回复
东北农村长篇:黑土.txt【转载】
已经有567人回复
怎么实现txt文件中的列数转换
已经有14人回复
【讨论】求助Matlab批量读取和处理一个文件夹里的txt文件
已经有9人回复
【求助】VB如何读取txt文件~~
已经有12人回复
【求助】matlab读取fortran输出的txt文件【已解决】
已经有3人回复


3楼2012-01-29 11:03:56
|
filename='data.txt'; fid=fopen(filename, 'r'); %% 读第一行,无视之 firstLine=fgetl(fid); % disp(firstLine); %% 读第二行,解析为列头 secondLine=fgetl(fid); columnHeader=regexp(secondLine, '\s', 'split'); fprintf(1, '数据列数为:%d\n', size(columnHeader, 2)); %% 读之后的数据行 dataLine=fgetl(fid); data=cell(1440, size(columnHeader, 2)); i=1; while(dataLine~=-1) % 显示数据行 % disp(dataLine); % 处理数据行 temp=regexp(dataLine, '\s', 'split'); data(i, 2:16)=temp(1, 1:15); % 读取下一行 dataLine=fgetl(fid); i=i+1; end % 显示在一张表中 f = figure; colnames = columnHeader; t = uitable(f, 'Data', data, 'ColumnName', colnames, 'Position', [20 20 1500 500]); |

2楼2012-01-29 11:02:47

4楼2012-01-29 11:52:05













回复此楼