Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

how read such txtfile

Asked by huda nawaf

huda nawaf (view profile)

on 25 Jul 2012

hi,

how I can read such txtfile

 1::1193::5::978300760
 1::661::3::978302109
 1::914::3::978301968
 1::3408::4::978300275
 1::2355::5::978824291
 1::1197::3::978302268
 1::1287::5::978302039

when I used textscan, I'm not get the data thanks

10 Comments

Jan Simon

Jan Simon (view profile)

on 25 Jul 2012

And what how many columns do you want? Is "::" the separator and you want 4 columns of data, or is ":" the separator and you get 7 columns, while the 2nd, 4th and 6th get invalid values - if so, which invalid values?

per isakson

per isakson (view profile)

on 25 Jul 2012

hi huda, Why do you include space in your format-string, "'%d %d %d %d'"? There are no spaces in the text-file.

Oleg Komarov

Oleg Komarov (view profile)

on 25 Jul 2012

119 questions asked so far but the style hasn't changed by a comma from the initial requests. I'm still wandering why bother at all...

huda nawaf

huda nawaf (view profile)

Tags

Products

No products are associated with this question.

1 Answer

Answer by per isakson

per isakson (view profile)

on 25 Jul 2012
Edited by Ned Gulley

Ned Gulley (view profile)

on 26 Jul 2012
Accepted answer

How I can read a text file, which looks like this in an editor

    1::1193::5::978300760 
    1::661::3::978302109 
    1::914::3::978301968 
    1::3408::4::978300275 
    1::2355::5::978824291 
    1::1197::3::978302268 
    1::1287::5::978302039

I want a [7x7] double array

I have tried with the following command

    cac = textscan( fid, '%d%d%d%d%d%d%d', 'Delimiter', ':' );

when I used this command, I'm not get the data thanks

I guess this is a more effective way to present the question - per

.

--- Problem solved ---

Thanks Jan, your hint guided me to a solution.

I changed my mind. Now, I want a [7x4 int32] and hope that ":" always comes in pairs.

    >> txt2m()
    ans = 
        [7x4 int32]
    >> cac{:}
    ans =
               1        1193           5   978300760
               1         661           3   978302109
               1         914           3   978301968
               1        3408           4   978300275
               1        2355           5   978824291
               1        1197           3   978302268
               1        1287           5   978302039

where the function, txt2m, is given by

    function    cac = txt2m()
    %%
    fid = fopen('cssm.txt');
    cac = textscan( fid, '%d%d%d%d'                     ...
                ,   'Delimiter'             ,   ':'     ...
                ,   'CollectOutput'         ,   true    ...
    ...         ,   'EmptyValue'            ,   -999    ...
                ,   'ExpChars'              ,   ''      ...
                ,   'MultipleDelimsAsOne'   ,   true    ... 
                ,   'Whitespace'            ,   ''      );
    fclose( fid )
    end

1 Comment

Jan Simon

Jan Simon (view profile)

on 25 Jul 2012

Exactly, per. And if a [7x7] numerical array is wanted, what should appear for the missing columns: NaN, Inf, 0? Or perhaps huda wants a [7 x 4] array. Or a {1 x 7} cell containing [7x1] vectors.

per isakson

per isakson (view profile)

Contact us