how to know the format of the text file
조회 수: 2 (최근 30일)
이전 댓글 표시
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
채택된 답변
Ameer Hamza
2018년 5월 14일
편집: Ameer Hamza
2018년 5월 15일
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
Walter Roberson
2018년 5월 15일
%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) = [];
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Import and Export에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!