unable to import data with textscan

1 次查看(过去 30 天)
I tried many times to import a file with textscan, but there's always some problem. i.e. the data didnt display correctly.
Here is a few rows of my data, its actually not complicated
Station,East,North,Zinv,ResInv,Res0,Rerr0,dzW,Rerr,Rsns
"From RSTEMINV v3.30e Date:02/02/12 Time:10:26:56"
0,0,0,0,4.6440E+0,4.8214E+0,500,2,8.89,81.89
0,0,0,-2.5,4.6440E+0,4.8214E+0,500,2,8.89,81.89
0,0,0,-7.82,5.0684E+0,5.4622E+0,500,1,8.84,35.03
0,0,0,-13.82,6.1425E+0,6.6325E+0,500,1,12.56,49.84
0,0,0,-20.589,8.3816E+0,8.4243E+0,500,1,13,32.51
0,0,0,-28.223,1.1675E+1,1.0656E+1,500,1,15.36,23.87
and my code is
fid=fopen('TEM1D1_1.m1d');
A=textscan(fid,'%u',10,'headerline',2);
I dont know why, is it because this file badly formatted?
Anybody would like to give me a hand?
Thanks in advance.

采纳的回答

Walter Roberson
Walter Roberson 2012-2-2
The %u format is only for unsigned integers, but some of your data is signed (negative) and some of it is non-integer.
Use %g not %u
  6 个评论
Walter Roberson
Walter Roberson 2012-2-2
The number, 10, that you give, is the number of repetitions of the format to use. When the format is '%f' or any other numeric form, that means to read 10 numbers, not 10 lines.
numcol = 10;
fmt = repmat('%f',1,numcol);
A = textscan(fid, fmt, 'headerlines', 2, 'delimiter', ',');
Lei
Lei 2012-2-18
Hi walter,
just saw ur reply today,its weird cauz i didnt get an email notice.
Yeah, you were right. I didnt realized that before.
Thanks for your help!
and your code works perfectly.
thanks again^_^

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Large Files and Big Data 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by