Inputing textfile data as meaningful variables

1 view (last 30 days)
Hi!
I'm having a bit of trouble inputing a collection of large data as a textfile and turning that data into meaningful variables.
My code currently only returns the first value of that column of values that I am interested in, hoping for it to instead create a cell array of all values in that first column.
Probably an easy solution, still figuring out MATLAB, any help would be appreciated. Thank you:)
% Load Data
file = fopen('data.test.txt','r');
str = textscan(file,'%f%s%f%s%f%s%s%s%s%s%f%f%f%s');
fclose(file)
% Data Variables
Age = str{1};
  1 Comment
Image Analyst
Image Analyst on 26 Apr 2020
You forgot to attach 'data.test.txt'. In the meantime, try importdata() or readmatrix().

Sign in to comment.

Accepted Answer

per isakson
per isakson on 26 Apr 2020
Edited: per isakson on 26 Apr 2020
Matlab provides several different functions to read text files. (I'm used to textscan.)
"cell array of all values in that first column" Your format string shows that the first column contains numerical data. I guess that your textscan statement fails because there is an error in your format string. (It's easy to get the number and mix of columns wrong.)
Here is a code that avoids the trouble of counting columns
%%
fid = fopen('data.test.txt','rt');
str = textscan( fid, '%f%*[^\n]' ); % Read the first column and skip to the end of line
[~] = fclose( fid );

More Answers (0)

Community Treasure Hunt

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

Start Hunting!