Is it possible to save the output of a command as a variable?

9 views (last 30 days)
If have data in PDF format, is it possible to use the file name as the variable name for the table created from the extracted data? I need to extract data from many files (Test1-100) so I am trying to automate part of the process so I can aggregate the information.
file = 'Test1.pdf';
[pathstr, TestNumber, ext] = fileparts(file);
str = extractFileText(file);
numbers = extractBetween(str, 'Start', 'Stop')
x = str2num(extractBetween(numbers, '0', '10'));
y = str2num(extractBetween(numbers, '11,' '20'));
table = array2table([x;y], 'VariableNames', {'Area 1', 'Area2'})
What syntax do I use to make "Test1" the variable name of the table??
  2 Comments
Stephen23
Stephen23 on 13 Jan 2022
Do NOT use ASSIGNIN or anything similar, unless you want to force yourself into writing slow, complex, inefficient code:
Unfortunately beginners learn bad code practices like this and then wonder why their code is incredibly inefficient and hard to work with. The simple and very efficient MATLAB approach is to use indexing into one array (e.g. a cell array).

Sign in to comment.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 13 Jan 2022
Edited: Fangjun Jiang on 13 Jan 2022
VarName='Test1';
assignin('base',VarName,table)
  2 Comments
Nadeau Hahne
Nadeau Hahne on 13 Jan 2022
works Perfectly!! Was trying to figure this out for a while Thank you!
Stephen23
Stephen23 on 13 Jan 2022
"works Perfectly" at making it slow and complex to process your data.

Sign in to comment.

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!