MATLAB Answers

how to know the format of the text file

14 views (last 30 days)
pruth
pruth on 14 May 2018
Commented: Walter Roberson on 15 May 2018
hi, I have multiple text files in one folder. I want to read all the files and make one mat file from it.therefore it will append all the data from text files into one file. the main problem I face here is to read the text data, I am not able to identify the format of this file.i have attached 2 two files to get the idea about data. i want to read all files one by one, extract the data and create only one mat file. I hope you understand my question.
  3 Comments
Ameer Hamza
Ameer Hamza on 15 May 2018
@pruth refer to my updated answer for code working in R2015a.

Sign in to comment.

Accepted Answer

Ameer Hamza
Ameer Hamza on 14 May 2018
Edited: Ameer Hamza on 15 May 2018
This will append the content of these three files in the form of a table.
opts = detectImportOptions('RD-180315-103300.txt');
t1 = readtable('RD-180315-103300.txt', opts);
t2 = readtable('RD-180316-103300.txt', opts);
t3 = readtable('RD-180317-103300.txt', opts);
t = [t1; t2; t3];
The following code will work for the version between R2013b to R2016a.
f = fopen('RD-180315-103300.txt');
data1 = textscan(f, ['%{YYYY-MM-DD}D%{hh:mm:ss}T' repmat('%f', 1, 24)], 'HeaderLines', 1);
fclose(f);
f = fopen('RD-180316-103300.txt');
data2 = textscan(f, ['%{YYYY-MM-DD}D%{hh:mm:ss}T' repmat('%f', 1, 24)], 'HeaderLines', 1);
fclose(f);
f = fopen('RD-180317-103300.txt');
data3 = textscan(f, ['%{YYYY-MM-DD}D%{hh:mm:ss}T' repmat('%f', 1, 24)], 'HeaderLines', 1);
fclose(f);
data = [table(data1{:}); table(data2{:}); table(data3{:})];
  1 Comment
Walter Roberson
Walter Roberson on 15 May 2018
%D formats were not accepted in R2013b or R2014a.
%T formats are new in R2018a.
So from R2014b to R2017b, if you do not use readtable, then use
data1 = textscan(f, ['%{YYYY-MM-DD}D%{hh:mm:ss}D' repmat('%f', 1, 24)], 'HeaderLines', 1, 'Delimiter', '\t');
data1{1} = data1{1} + (data1{2} - dateshift(data1{2}, 'start', 'day'));
data1(2) = [];

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!