how to know the format of the text file
2 views (last 30 days)
Show older comments
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
Accepted Answer
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
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) = [];
More Answers (0)
See Also
Categories
Find more on String Parsing 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!