MATLAB: Import data 800*7 textfile into cell array using textscan

cell arraysimport text file into arraytextscan

Hi everyone, I am trying to read a textfile with 800 rows and 7 columns I have manage to import it into an array but the issue is that the array in the form of (1,7) and when i click on a cell the 800 values appears but i would for everything to be display in one big array. Here is the code I am using:
%%%Open file and import data into a multiple cellular array
filename = 'shipsspecs.txt';
fid = fopen(filename,'r');
%%%Check if the file exist and display error otherwise
if fid == -1
fprintf('Could not access this file', filename);
error('This file does not seem to exist... Please check for any typo error of your filename')
end
%%Initialise variable requires to import textfile into cell array
formatSpec = '%s%f%f%f%s%s%s'; %Defines the format of the variable of each column
%headerlines =1; %Defines the number of line that need to be consider as header to import them all as string regardeless of the formatspecs
delimiter = ',';
%%Importatoion function
ships_array = textscan(fid, formatSpec, 'HeaderLines', 1, 'Delimiter', delimiter,'ReturnOnError', false);
fclose(fid);
And my table is presented this way (picture 1)
Rather than the way (picture 2)
Could someone help please 🙂

Best Answer

You can change your code
filename = 'shipsspecs.txt';
fid = fopen(filename,'r');
if fid == -1
fprintf('Could not access this file', filename);
error('This file does not seem to exist... Please check for any typo error of your filename')
end
formatSpec = '%s';
headerlines =1;
delimiter = ',';
ships_array = textscan(fid, formatSpec, 'HeaderLines', 1, 'Delimiter', delimiter,'ReturnOnError', false);
fclose(fid);
v=reshape([s{:}],7,[])'