Do anyone know how to merge several (80-90) csv file data into 1 file?

4 views (last 30 days)
I have to merge data from several csv files into one csv file and find the maximum value of each column.
How shall I do it?

Accepted Answer

Argon
Argon on 1 Nov 2012
Edited: Argon on 1 Nov 2012
Assuming that all files have the same columns I'd do something like this:
  • where ncols is number of columns
  • preallocate max value variable: m = zeros(1, ncols);
  • loop over all files
  • read csv data using csvread into variable data
  • m = max(max(data), m);
  • end loop
m of course is your result.
  5 Comments
Argon
Argon on 1 Nov 2012
There is not "one" function that does that as far as I know -- you will probably have to iterate over all your files and use csvread and write them to disk again, something like this:
files = {'file1.csv', 'file2.csv'};
cellfun(@(x) dlmwrite('output.csv', csvread(x), '-append'), files);
Though you might have to tweak that a bit, it hasn't been tested.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Import from MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!