How to append data or values to an existing .csv file??

241 views (last 30 days)
hi..suppose i have a .csv file named csvfile.csv.And it has the values as follows:
23 45
69 84
48 78
12 34
so it has two colums.Now wat i need to do is to add values staring from the 3rd colum with out deleting the values in the 1st and 2nd colums..How can i do this...??Any one plz help..!!

Accepted Answer

Wayne King
Wayne King on 10 Feb 2012
Use dlmwrite with 'delimiter', ',' and '-append'
M = randn(4,4);
dlmwrite('test.csv',M,'delimiter',',');
N = randn(4,4);
dlmwrite('test.csv',N,'delimiter',',','-append');
  2 Comments
Manoj Murali
Manoj Murali on 10 Feb 2012
Thanx for the reply sir..but ther is a problem here...i want the values to be appended side by side..but ur code is printing it below the already present values.I want the newly appended data to be pasted in the right side of the already present data..not below it..Can u modify ur code and tell me plzz..??
khalid malik
khalid malik on 2 May 2015
Yes it works but it just append the data at next cell, Now if we want to append the data at desired line or col then what we need to amend in above script. I want a=[1 2 3; 4 5 6] and b=[0 9 8; 7 6 5] I want to create csv file in which b values append in file a from line 2 and col 4 Thanks

Sign in to comment.

More Answers (2)

William
William on 10 Feb 2012
Worst case you could read the current file you have
csvread(....);
Import the vectors, do you manipulation and then use
csvwrite(...)
to write it all back to a specified excel file.
  2 Comments
khalid malik
khalid malik on 5 May 2015
how to append data in different col. rather than in rows? I have data in col. wise and want to append all together.
Rubedo
Rubedo on 20 Dec 2017
Edited: Rubedo on 20 Dec 2017
This may possibly help, since csvwrite uses matrices you should configure your data as so. Assigned first column to 'a', second to 'b' and new data as 'c'.
csvwrite('test.csv', [a b c]);
This should output your data as:
23 45 1
69 84 2
48 78 3
12 34 4

Sign in to comment.


Manoj Murali
Manoj Murali on 10 Feb 2012
using dlmwrite with an '-append' is only appending the new values below the already present values.But wat i want is to append the values to the right side of the already present values..Any one plzz answer..??
  2 Comments
Mahmoud abouamer
Mahmoud abouamer on 4 Apr 2018
You can try something like dlmwrite('test.csv',M,'-append',... 'roffset',10,'coffset',11); where 10 and 11 are the rows and columns of the cell you r interested in.
YU Xinbo
YU Xinbo on 13 Jun 2018
This method also doesn't work. The row offset is not exact the location where I want to insert. It will skip the existing rows where there is data... The problem is that I have huge data need to export to a csv... a 7*60000 matrix

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!