fprintf multiple column string

24 views (last 30 days)
I have imported a large file of numbers and letters into Matlab as a string. In short, after some number edits (which I know how to do), I am attempting to then use fprintf to save this to a new file. However, only the first column of the string is being saved. How do I save all the columns?
The input file and output file are shown in images.
Here is the code (the imported file is saved as variable S):
fileID = fopen('newfile.in','w');
fprintf(fileID, '%s\n', S);
fclose(fileID);
  1 Comment
Bob Thompson
Bob Thompson on 3 Apr 2018
Edited: Bob Thompson on 3 Apr 2018
What file format is fileID?
I ask because fprintf() is intended to print strings out into a text or ascii format file, but your images appear to be almost an excel format. fprintf will not work properly printing to an excel file.
If that is a .csv file type then fprintf will work, but most likely still not properly delineate the different columns as it is intended to print single column lines of text, not string data to multiple columns.

Sign in to comment.

Accepted Answer

Steamboat Rock
Steamboat Rock on 3 Apr 2018
I figured out how to do it...
for i=1:length(S(:,1))
fprintf(fileID, '%s ',S(i,:)');
fprintf(fileID,'\n');
end
Cheers!

More Answers (0)

Community Treasure Hunt

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

Start Hunting!