Add data to .csv file using matlab

125 views (last 30 days)
I want the data in the .csv file to look like this:
DateTime1 Username1 Path1 Remark1
Here, all the cells are strings and they are in a single row but 4 columns. Everytime I need to add data at the end of this .csv i.e. it should look something like this
How to I prepare this data? I really don't know how to prepare this data and add it to the csv in this manner. Can someone please help me out here?
I tried preparing the data in this way,
data = ['DateTime1' 'UserName1' 'Path1' 'Remark1'] But they got concatenated.

Accepted Answer

Sudhakar Shinde
Sudhakar Shinde on 5 Oct 2020
Edited: Sudhakar Shinde on 5 Oct 2020
data = {'DateTime1' 'UserName1' 'Path1' 'Remark1'};
data1= {'DateTime2' 'UserName2' 'Path2' 'Remark2'};
Data = [data;data1];
writecell( Data, 'test.csv');
  3 Comments
Harshita K
Harshita K on 6 Oct 2020
I could make this work by reading the csv data using
data = readcell('test.csv');
data1= {'DateTime2' 'UserName2' 'Path2' 'Remark2'};
Data = [data;data1];
writecell( Data, 'test.csv');
Thank you.

Sign in to comment.

More Answers (2)

Jon
Jon on 5 Oct 2020
Edited: Jon on 5 Oct 2020
In MATLAB put the data into a table array. Then use writetable with the 'WriteMode','Append' property value pair. Please see https://www.mathworks.com/help/matlab/ref/writetable.html especially the section on adding data to end of table
  2 Comments
Harshita K
Harshita K on 5 Oct 2020
WriteMode isn't supported in 2019b I guess, everytime I use that, there's an error that says,
Invalid parameter name: WriteMode.
Jon
Jon on 5 Oct 2020
I didn't realize that was such a new feature. If you have it available I would recommend updating to the new version, if not just for this feature just to stay current.

Sign in to comment.


Luciano Garim
Luciano Garim on 5 Oct 2020
To import your data from a CSV file into MATLAB use the “readtable” function. The “readtable” function automatically detects the header and the number of lines to skip.
T = readtable('myfile.csv');
To add your data use dlmwrite
M = randn(4,4);
dlmwrite(T,M,'delimiter',',','-append');
  1 Comment
Harshita K
Harshita K on 5 Oct 2020
This works only with numbers, when I want to add strings this is how it gets populated in the csv,

Sign in to comment.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!