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

2 Ansichten (letzte 30 Tage)
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?

Akzeptierte Antwort

Argon
Argon am 1 Nov. 2012
Bearbeitet: Argon am 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 Kommentare
Argon
Argon am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by