Importing data from multiple .dat files into an array

I have several hundred .dat files (saved in folders of ~15 for each geographic location they represent) that I want to add to my structural array, with each column as a field:
ie. the column headed density becomes
TVC.Date.Location.SMP.Profiles.Number.density_smp
However, my .dat files have 4 rows of metadata and then the headers before the data I need starts.
I've created a filelist for the first folder containing the .dat files and then tried
% pit RP_04
cd 'G:\Uni_Work\PHD\Data\Trail Valley Creek\Winter 2018-19\January 2019\SMP\Processed\RP_04';
FileList39 = dir('*.dat'); % generate a list of filenames which can be used to generate locations of profiles
Data_and_Headers = importdata(FileList39(1), '\t');
I've tried "ImportData" and "ReadTable" which I saw suggested on here, and had no luck with either. Any suggestions?

 Respuesta aceptada

Ameer Hamza
Ameer Hamza el 16 de Mzo. de 2020
Editada: Ameer Hamza el 16 de Mzo. de 2020
Try readmatrix and specify the number of header lines
readmatrix(FileList39(1).name, 'NumHeaderLines', 5)
or readtable with
readtable(FileList39(1).name, 'HeaderLines', 5)

4 comentarios

Thanks for the suggestion! However, I tried and got the following error:
Please check the updated answer. dir('*.dat') returns a struct array, and you need to access its name field.
Thanks. I think this gets me half way there. How would I then save column from this double as matrices?
Have you read the files using readmatrix or readtable? readmatrix already outputs a matrix, for readtable you can use table2array.

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2019a

Preguntada:

el 16 de Mzo. de 2020

Comentada:

el 16 de Mzo. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by