load multiple .dat file and do the same calculation for same columns and make an output file

6 views (last 30 days)
Hello All and let me thank you for the time you spend to read my question I have seventy .dat file(s1.dat to s70.dat) each include 8columns and 6000rows, I want to find the maximum for column 5 and 6 for each .dat file and make a new file with 70rows and 2 columns(like following)
1 C5max C6max
2 C5max C6max
70 C5max C6max
I will appreciate every single tips or advice

Sign in to comment.

Answers (1)

Etsuo Maeda
Etsuo Maeda on 17 Apr 2018

If your sXX.dat is a csv file, the following code will help you to understand.

% generate 7 test files
for k = 1:7
    T = randi(100, 6000, 8);
    filename = ['csv', num2str(k), '.dat'];
    csvwrite(filename, T);
clear; % clear variables
% load csvfiles, find maximum, store values
for k = 1:7
    filename = ['csv', num2str(k), '.dat'];
    S = csvread(filename);
    M_col5 = max(S(:, 5));
    M_col6 = max(S(:, 6));
    M{k, :} = [M_col5, M_col6];
% save results
csvwrite('results.dat', M)
  1 Comment
Samaneh Arzpeima
Samaneh Arzpeima on 18 Apr 2018
Edited: Walter Roberson on 18 Apr 2018
Yours Example was super easy to understand.Thank you very much. Unfortunetaly My file is dat file with space, and I want to jump the first 22nd row and just take the 5th and 6th colomns.and find the max of each and extract to a new file.I temp a part of one of my file(I have 77of them, site1.dat ...site71.dat) could you please an other advice.sorry to ask for very elementry question. below was the only cods that came to my mind clear; clc;
datafiles = dir('*.dat');
for k = 1:71
filename = datafiles(k).name;
startRow = 22;
formatSpec = '%*60s%15f%15f%[^\n\r]';
fileID = fopen(filename,'r');
delimiterIn= ' ';
headerlinesIn = 22;
S = importdata(filename,delimiterIn,headerlinesIn);
M_col5 = max(S(:, 5 ));
M_col6 = max(S(:, 6 ));
M{k, :} = [M_col5, M_col6 ];

Sign in to comment.


Find more on Resizing and Reshaping Matrices 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!

Translated by