Reading columns of a .DAT file
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Donrad
am 31 Jan. 2018
Beantwortet: Donrad
am 31 Jan. 2018
Hi All, I'm new to MATLAB and for my data processing, I need to read my data (format=float)from a .DAT file. This file contains 17 columns with close to 4000 rows (based on my experimental condition the # of rows can change), but always the two first rows are text formats (parameter name and then its units). Now I need to know how can I extract data with headers column-wise? I want to read each column and then write each of them into an EXCEL file.
Thanks
I have attached an example file
1 Kommentar
Akira Agata
am 31 Jan. 2018
Looking at your data file, it seems that Import Tool would be easy and simple way to read. Have you ever tried this tool?
Akzeptierte Antwort
Walter Roberson
am 31 Jan. 2018
fid = fopen(v1_Out-a.dat', 'rt');
firstline = fgetl(fid);
varnames = regexp(firstline, '\t', 'split');
nvars = length(varnames);
units = regexp(fgetl(fid), '\t', 'split');
fmt = repmat('%f', 1, nvars);
data = textscan(fid, fmt, 'collectdata', 1);
fclose(fid);
datatable = array2table(data, 'VariableNames', varnames, 'VariableUnits', units);
writetable(datatable, 'NameOfExcelFile.xls')
This might possibly lose the information about units.
Note that for the purposes of excel, you could just convert all the tab characters to commas and call that a .csv file.
0 Kommentare
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Data Import and Export finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!