| 查看: 1919 | 回复: 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 ] |
» 猜你喜欢
今天系统多次维护,明天很可能放榜!
已经有5人回复
欢迎发来filecode的Mz6后的代码验证其规律
已经有74人回复
岩土工程学报什么时候才能终审完呐
已经有4人回复
时间戳又变了8-15
已经有25人回复
2027广东省杰青
已经有6人回复
快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。
已经有3人回复
哪位老哥知道今年的国自然具体哪一天放榜?
已经有9人回复
咱们一起用铁证分析2026国家社科基金中标与否
已经有26人回复
我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人
已经有16人回复
有时候,自然基金真的不能太认真 (我的申报经验)
已经有12人回复
» 本主题相关价值贴推荐,对您同样有帮助:
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人回复

|
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

3楼2012-01-29 11:03:56

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










回复此楼