MATLAB Answers

Read multiple text files and save the data into matrix

25 views (last 30 days)
Hi
I have multiple text files (for example I have attaced here 2 files). I want to read them, and save the data into matrix. But I only want the data above the first dotted line (text left side to : in first column, and other data after : to the second column). Secondly, I want to save the data which is between two dotted lines (----). Again, the data under Item is in first column, and corresponding 3rd column in second column. Please help me some how to do this.

  0 Comments

Sign in to comment.

Accepted Answer

Ingrid
Ingrid on 8 Jan 2016
if your file always has the same amount of lines you could do something like this (if not, you need to check where the ---- occurs)
for ii = 1:Nfiles
fid = fopen(fileNames{ii});
if fid == -1
error('Unable to open txtfile');
end
fileData1{ii} = textscan(fid,'%s %s','Delimiter',':','HeaderLines',1,21);
fileData2{ii} = textscan(fid,'%s %s %s','Delimter','\t','HeaderLines',2);
fclose(fid);
end

  5 Comments

Show 2 older comments
Kanakaiah Jakkula
Kanakaiah Jakkula on 8 Jan 2016
Hello Madam,
My files D:\Mekala_Backupdata\Matlab2010\Filesfolder\Try2. But the the number of text files will vary. I use the following code
clc
clear all
close all
FileList=dir('D:\Mekala_Backupdata\Matlab2010\Filesfolder\Try2/');
j=1;
for i=3:1:(size(FileList)) %%read all files from folder of specified dir
FileName{j}=FileList(i).name;
j=j+1;
end
for ii = 1:j
fid = fopen(fileNames{ii});
if fid == -1
error('Unable to open txtfile');
end
fileData1{ii} = textscan(fid,'%s %s','Delimiter',':','HeaderLines',1,21);
fileData2{ii} = textscan(fid,'%s %s %s','Delimter','\t','HeaderLines',2);
fclose(fid);
end
But it giving me below error:
??? Undefined variable "fileNames" or class "fileNames".
Error in ==> ReadTextFiles_0108_m1 at 12 fid = fopen(fileNames{ii});
Kindly help Madam
Walter Roberson
Walter Roberson on 15 Jan 2016
Change
FileName{j}=FileList(i).name;
to
FileNames{j}=FileList(i).name;

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!