Write matrix to a Tab-Delimited text file

Hello again,
I'm reading certain data from a csv file and I want to write some of the columns of the csv file to a tab delimited text file. So far, I have this;
[n, t, r] = xlsread('file.csv');
A = r(:,1);
L = r(:,5);
B = r(:,6);
M = [A, L, B];
And M is a 10×3 cell array. And it only contains numeric data.
I want to export this data to a tab delimited text file. Since I'm using MATLAB R2017a, I can't use writecell.
Any recommendations, documentations to refer of leads?
Thanks in advance!

 Accepted Answer

cell2mat(M) after which you can dlmwrite() with tab delimiter.

More Answers (1)

dpb
dpb on 16 Mar 2020
  1. If are only numeric values in those three columns, then why not use the numeric return values from n instead? Depending on the structure of the spreadsheet, the column numbers may not be 1,5,6, but pick the ones needed instead.
  2. Use dlmwrite('youroutputfile.dat',cell2mat(M),'\t');

3 Comments

Jake
Jake on 16 Mar 2020
Edited: Jake on 16 Mar 2020
I'm not entirely sure what you meant. But the csv file contains columns with text as well and I was taking only the columns that I need, which were 1,5 and 6.
Anyway, I used what Walter suggested and it was pretty much the one you suggested in your second line. Thanks a lot! :)
dpb
dpb on 16 Mar 2020
Edited: dpb on 17 Mar 2020
xlsread will return only numeric columns in the first return argument w/o any text...
That makes more sense now! I will try this to simplify things. Thank you!

Sign in to comment.

Asked:

on 16 Mar 2020

Edited:

dpb
on 17 Mar 2020

Community Treasure Hunt

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

Start Hunting!