writing cell array to file

Hi,
I have a large text file with entries/lines that look like as follows.
-60,-69,""
-63,-77,""
-64,-79,""
-69,-85,""
-75,-91,""
-75,-91,""
-79,-77,""
I need to extract the first N (say three) lines and write them to another text file. I am doing the following.
fp_in=fopen(input_file_name, 'r');
inDump=textscan(fp_in, '%s%s%s', 'Delimiter', ',');
outDump={inDump{1}(1:3) inDump{2}(1:3) inDump{3}(1:3)};
T=cell2table(outDump);
writetable(T,output_file_name);
The output file comes out with the columns of the input file transposed. This is what I see in the output file.
-60,-63,-64,-69,-77,-79,"","",""
Thanks for any tips.

2 Comments

outDump={inDump{1}(1:3); inDump{2}(1:3); inDump{3}(1:3)};
Tried already. Gives me
-60,-63,-64
-69,-77,-79
"","","","",""

Sign in to comment.

 Accepted Answer

Hi Amjad, you can use readtable and writetable to do this:
>> r = readtable(input_file_name);
>> N = 3; % Since you want to extract the first 3 lines of your file
>> writetable(r(1:N,:), output_file_name, "QuoteStrings", true, "WriteVariableNames", false);

More Answers (0)

Categories

Find more on Environment and Settings in Help Center and File Exchange

Products

Release

R2018b

Community Treasure Hunt

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

Start Hunting!