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?

 채택된 답변

Ameer Hamza
Ameer Hamza 2020년 3월 16일
편집: Ameer Hamza 2020년 3월 16일
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

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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

제품

릴리스

R2019a

질문:

2020년 3월 16일

댓글:

2020년 3월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by