Generic code to import data from set of txt files?
1 view (last 30 days)
Show older comments
I have a set of text files that have a 1x6 vector of data in each. The names of the text files are based on timestamps and are not periodic. I'd like to be able to put some variable number N of these text files into a folder, and then have a script that will load the vector from each text file into the nth row of a data matrix in MATLAB. Is there a way to do this for variable number of arbitrarily named txt files? I imagine a code like this:
N = {a command to count the number of txt files in directory}
data=zeros(N,6)
for i = 1:N
data(i,:) = {command to load data from the ith txt file in the directory}
end
So I am trying to see if there are MATLAB commands to do this generically without having to specify specific number of txt files or their names each time I compile a set of them into the directory.
Thanks!
0 Comments
Answers (2)
Paul
on 20 Dec 2013
you could use the commands here:
to get the file names. Then loop over these names importing one by one.
0 Comments
kjetil87
on 20 Dec 2013
Edited: kjetil87
on 20 Dec 2013
To find all .txt files in a directory use:
myDir = 'C:\iHaveStoredSomethingHere\'; %last backspace is important!
dirInfo = dir([myDir,'*.txt']);
filenames = {dirInfo.name};
N = numel(filenames);
data=cell(N,1); %need to use cell, you are not 100% sure all files has same lengths etc.
for i=1:N
fid = fopen([myDir,filenames{i}] );
data{i} = textscan(fid,'%s ');
fclose(fid);
end
0 Comments
See Also
Categories
Find more on File Operations 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!