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

1 次查看(过去 30 天)
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?

采纳的回答

Argon
Argon 2012-11-1
编辑:Argon 2012-11-1
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 个评论
Argon
Argon 2012-11-1
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.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by