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

2 visualizaciones (últimos 30 días)
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?

Respuesta aceptada

Argon
Argon el 1 de Nov. de 2012
Editada: Argon el 1 de Nov. de 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 comentarios
Argon
Argon el 1 de Nov. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by