How to load multiple indexed .txt tables at once using a loop?

3 views (last 30 days)
MOTIVATION: Hi, I want to import multiple tables such as table1.txt, table2.txt, ..., tablei.txt.
WHAT I DID: For this I wrote the following lines:
for i=1:3;
x{i}=load('table%d.txt',i)';
end
PROBLEM: I obtain the following error: ??? Error using ==> load Argument must contain a string.
QUESTION How should I write the command lines to obtain
x1=load('table1.txt');
x2=load('table2.txt');
xi=load('tablei.txt');
without needing to write each line for each i?
I thank you in advance for your help
Emerson

Accepted Answer

TAB
TAB on 18 Jan 2012
for i=1:3
x{i}=load(sprintf('table%d.txt',i));
end
Why you are using load() for reading text file ? You can do better with textscan().
  2 Comments
Emerson De Souza
Emerson De Souza on 18 Jan 2012
Hi Tabrez,
thank you for your correction. It works well.
Now, how would I do the same using textscan()?
I wrote:
x=textscan(sprintf('table.txt'));
and obtained the message error:
??? Error using ==> textscan
Not enough input arguments.
I thank you in advance for your help
Emerson
TAB
TAB on 19 Jan 2012
You can use textscan() based on what is content of your text file and what is your expected output.
For help type
>> doc textscan
on command window
Please give some example data of your text file and your expected output, then only i can suggest anything.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!