24小时热门版块排行榜    

查看: 1920  |  回复: 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 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

人生中最辉煌的不是功成名就的时候,而是在失败和挫折中看到希望并为之奋斗的日子
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主


ben_ladeng(金币+1): 3Q 2012-01-29 21:23:29
引用回帖:
3楼: Originally posted by 杨小胖 at 2012-01-29 11:03:56:
这是别的论坛热心人帮忙写的。
可是还是有问题,就是我的整个txt文件是1*x的cell数组。
那没有换行符怎么去读取呢?
指定我要读取的行列格式吗?不知道怎么解决,请大家帮忙

没换行符没关系的。
只要确定每行数据格式一样,数据长短一致就可以。
可以把数据文件上传,我试试。
明德厚学、求是创新
4楼2012-01-29 11:52:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

杨小胖

金虫 (正式写手)

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
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

杨小胖

金虫 (正式写手)

这是别的论坛热心人帮忙写的。
可是还是有问题,就是我的整个txt文件是1*x的cell数组。
那没有换行符怎么去读取呢?
指定我要读取的行列格式吗?不知道怎么解决,请大家帮忙
人生中最辉煌的不是功成名就的时候,而是在失败和挫折中看到希望并为之奋斗的日子
3楼2012-01-29 11:03:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今天系统多次维护,明天很可能放榜! +5 zju2000 2026-08-16 5/250 2026-08-16 23:23 by Haru815
[论文投稿] 岩土工程学报什么时候才能终审完呐 25+3 yeager111 2026-08-10 4/200 2026-08-16 20:42 by tfang
[基金申请] 时间戳又变了8-15 +13 archvillain 2026-08-15 25/1250 2026-08-16 20:13 by zhaosm1982
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 6/300 2026-08-16 20:07 by 奶牛小黑
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +3 Tide man 2026-08-14 3/150 2026-08-16 17:47 by jurkat.1640
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +9 Ldrop2023 2026-08-13 9/450 2026-08-16 13:24 by wukun_007
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +10 majunge000 2026-08-11 12/600 2026-08-16 08:18 by xli1984
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] filecode=后面第一个是大写字母 +6 wangze12014 2026-08-14 7/350 2026-08-15 20:12 by gltch
[基金申请] filecode +8 cratir 2026-08-14 12/600 2026-08-15 18:08 by zyfgau
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
信息提示
请填处理意见