Comma delimited csv with letters and numbers

I have a dataset coming in from a .csv file as a table. But when imported the data appears all on one column delimitd by commas'
in the format B,1,2,B,B. for 60 rows.
I am trying to separate each digit into a seperate column and be able to access the numberes while ignoring the B's
I've tried replacing the B's wiht NaN. but 'First argument must be a string array, character vector, or cell array of character vectors.'
I've tried Table2array but that just creates a 60x1 categorical variable without separating each B or Number into a column,
Is there anything else I could try?

9 Comments

hello
could you share your csv file and code file please ?
Hello,
Thank you for your response
I can't share the csv file as theres a bit to much information on it but here is the table once Its imported to matlab and the first lines containing subject information are removed. I have included a screen shot of how the data looks in the csv file to give an idea of why the data is formatted in such a way.
I don't have a code file at the minute as I'm stumbling at the first hurdle on this. So far I've just imported the data and separated the rows of interest.
What function are you using to read from csv file?
I just import the data from the csv file by clicking on the file
I tried readtable(File.csv) but it failed as 'All lines of a text file must have the same number of delimiters.'
and csvimport(File.csv) but The 'columns' parameter must be a numeric array for CSV files containing column headers on the first line.
Are There other options?
Did you try importing the data using the import tool in the toolstrip?
Yes thats how I'm importing it at the moment.
Sorry maybe I wasnt clear in the last comment. I click on the file then 'import' from that toolstrip that pops up.
Same as the home tab import option.
What version of MATLAB are you using?
Try this, with filename replaced with the full name of your file, and nHeaderLines replaced with the number of header (non-data) lines at the top of your csv file:
opts = detectImportOptions(filename,'NumHeaderLines',nHeaderLines);
Table = readtable(filename,opts);

Sign in to comment.

 Accepted Answer

Because your columns all contain Bs, they are going to be read in as text instead of numbers. You mention you want to turn them into NaNs. In that case, you can force MATLAB to read the columns as doubles, causing the Bs to automatically be NaNs.
However, in your case, DATA_TYPE is one variable in a table of other variables.
load Datafile.mat
head(Frame)
ans = 8x11 table
DATA_TYPE MOVIE VarName3 VarName4 VarName5 VarName6 VarName7 VarName8 VarName9 VarName10 VarName11 ______________________________________________ _____ __________ __________ __________ ________ ________ __________ __________ __________ __________ B,B,B,B,B,0,0,0,0,0,0,0,B,B,B,B,B,B,B,B,B NaN {0×0 char} {0×0 char} {0×0 char} NaN NaN {0×0 char} {0×0 char} {0×0 char} {0×0 char} B,B,B,B,0,0,0,0,0,0,0,0,0,B,B,B,B,B,B,B,B NaN {0×0 char} {0×0 char} {0×0 char} NaN NaN {0×0 char} {0×0 char} {0×0 char} {0×0 char} B,B,B,B,0,0,0,0,0,0,0,0,0,0,B,B,B,B,B,B,B NaN {0×0 char} {0×0 char} {0×0 char} NaN NaN {0×0 char} {0×0 char} {0×0 char} {0×0 char} B,B,B,0,0,23,35,105,23,0,0,0,0,0,0,B,B,B,B,B,B NaN {0×0 char} {0×0 char} {0×0 char} NaN NaN {0×0 char} {0×0 char} {0×0 char} {0×0 char} B,B,B,0,0,23,27,19,19,0,0,0,0,0,0,B,B,B,B,B,B NaN {0×0 char} {0×0 char} {0×0 char} NaN NaN {0×0 char} {0×0 char} {0×0 char} {0×0 char} B,B,0,0,0,27,23,0,0,0,0,0,0,0,0,0,B,B,B,B,B NaN {0×0 char} {0×0 char} {0×0 char} NaN NaN {0×0 char} {0×0 char} {0×0 char} {0×0 char} B,B,0,0,23,23,23,0,0,0,0,0,0,0,0,0,B,B,B,B,B NaN {0×0 char} {0×0 char} {0×0 char} NaN NaN {0×0 char} {0×0 char} {0×0 char} {0×0 char} B,B,0,0,50,54,21,0,0,0,0,0,0,0,0,0,0,B,B,B,B NaN {0×0 char} {0×0 char} {0×0 char} NaN NaN {0×0 char} {0×0 char} {0×0 char} {0×0 char}
It likely got read in this way due to the formatting of the original file. We might be able to help with the original import if you share the original file. Still, it's possible to take the table you've shared and turn DATA_TYPE into a matrix of doubles.
Frame.DATA_TYPE = string(Frame.DATA_TYPE);
DT = rowfun(@(s)strsplit(s,','),Frame(:,"DATA_TYPE"));
DT.Var1 = double(DT.Var1);
DT = table2array(DT)
DT = 60×21
NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 23 35 105 23 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 23 27 19 19 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 27 23 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 23 23 23 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 50 54 21 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN 0 0 45 50 33 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN 0 0 19 36 36 19 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN

10 Comments

This seems to work!.
Thank you so much and thank you for the explaination.
I've attached the csv file below but deleted personal info. If there is a way to make the imoprt smoother that would be fantasic, however I can hopefully manage with your fix here.
hmm
could not open a valid csv file , got only kinda binary file ?
I suspect this is from Apple's spreadsheet software, Numbers. MATLAB does not appear to be able to read these files directly. Any chance you can export it as a *.xlsx or *.csv file instead?
Sorry, yes it might have someting to do with Numbers. Hopefully I've attatched below as a .csv file. Thank you.
indeed readcell is able to open the csv file but there will be a bit of work to retrieve what you're looking for
RC = readcell('FowardWalk.csv')
Name Size Bytes Class Attributes
RC 275x21 635158 cell
After looking at the csv file, I would recommend the solution I already provided. It would take a lot of effort to create an import file that formats this data the same way. Since you already appear to have a way to do that, I would stick with it.
If you just want a matrix of the numbers, that might not be so bad.
Here's quick and dirty way, using the csv file you shared. This extracts the values to a 60x21x4 matrix, where 60x21 is the size of each matrix, and the 3rd dimension corresponds to the frame number (matrix for frame 1 is indexed as Frame(:,:,1), etc)
frame = 0;
fid = fopen("FowardWalk.csv");
while ~feof(fid)
l = fgetl(fid);
if strcmp(l,",,,,,,,,,,,,,,,,,,,,")
frame = frame+1
% skip 1 line
l = fgetl(fid);
% read in matrix line by line
for r = 1:60 % 60 is pulled from line 10 of the file
l = fgetl(fid);
vals = strsplit(l,',','CollapseDelimiters',false);
Frame(r,:,frame) = str2double(vals);
end
end
end
frame = 1
frame = 2
frame = 3
frame = 4
Frame
Frame =
Frame(:,:,1) = NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 41 17 0 0 NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 22 41 0 0 0 NaN NaN NaN NaN NaN NaN NaN 0 17 0 0 0 0 0 0 0 0 17 0 0 0 NaN NaN NaN NaN NaN NaN 0 17 21 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN 17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN 0 31 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 0 0 0 0 17 22 17 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 17 0 0 36 41 42 22 0 0 28 31 0 0 NaN NaN NaN 0 0 0 0 0 28 28 31 46 56 51 28 17 17 31 42 0 0 0 NaN 0 0 0 0 0 0 51 51 50 60 65 51 39 39 39 42 72 0 0 0 NaN 0 0 0 0 31 40 65 71 70 75 75 55 50 60 60 51 90 36 0 0 NaN 0 0 0 17 36 50 65 55 75 55 36 36 31 50 60 56 90 31 0 0 NaN 0 0 17 22 60 80 71 55 50 51 36 28 46 41 36 17 42 22 0 0 0 21 17 21 22 65 74 54 45 46 31 33 36 36 41 31 17 0 0 0 0 0 17 41 26 36 79 64 40 40 22 22 0 17 17 22 0 0 0 0 0 0 0 31 60 41 50 46 50 26 22 22 0 0 0 0 17 0 0 0 0 0 NaN 0 40 45 50 45 31 31 31 22 22 0 0 0 0 0 0 0 0 0 0 NaN 0 21 26 22 31 26 31 17 0 0 0 0 0 0 0 0 0 0 0 0 NaN 0 0 22 17 17 17 17 21 0 0 0 0 0 0 0 0 0 0 0 NaN NaN 0 0 0 0 22 0 17 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN 0 0 0 0 0 0 0 0 17 0 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 0 22 21 22 17 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 17 17 0 17 22 22 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 26 22 26 17 22 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 0 21 26 26 17 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 0 17 17 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 22 0 0 17 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 26 17 17 22 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 21 21 0 17 17 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 25 20 17 22 26 28 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 17 31 22 36 17 17 0 0 0 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 20 30 31 40 17 42 22 22 22 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 17 25 31 26 17 0 17 17 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 0 21 21 21 28 0 22 17 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 0 21 17 20 36 17 26 20 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 21 20 25 25 45 35 40 25 17 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 25 20 30 20 46 50 50 35 22 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 0 31 35 56 66 81 66 71 50 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 17 40 56 66 112 87 107 97 46 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 0 35 66 71 102 107 102 92 61 17 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 30 41 61 92 123 152 157 132 71 21 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 56 61 84 112 146 163 185 137 92 22 0 NaN NaN NaN NaN NaN NaN 0 0 0 20 51 101 112 146 180 152 163 107 92 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 46 45 79 95 163 168 163 152 127 76 22 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 62 118 196 140 152 137 140 92 66 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 25 36 73 107 118 135 102 97 56 25 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 17 62 61 71 46 71 66 25 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 17 25 36 35 41 36 36 0 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 25 17 20 35 36 20 30 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 17 17 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN Frame(:,:,2) = NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 41 17 0 0 NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 22 41 0 0 0 NaN NaN NaN NaN NaN NaN NaN 0 17 0 0 0 0 0 0 0 0 17 0 0 0 NaN NaN NaN NaN NaN NaN 0 17 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN 0 31 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 0 0 0 0 17 22 17 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 17 0 0 36 41 41 22 0 0 27 31 0 0 NaN NaN NaN 0 0 0 0 0 27 27 31 46 56 51 27 17 17 31 41 0 0 0 NaN 0 0 0 0 0 0 50 50 50 60 65 51 38 44 38 41 71 0 0 0 NaN 0 0 0 0 31 40 65 71 70 75 75 55 50 65 60 51 90 36 0 0 NaN 0 0 0 17 30 50 65 55 75 55 36 36 30 50 60 56 90 31 0 0 NaN 0 0 17 22 60 80 71 55 50 51 36 27 46 41 36 17 41 22 0 0 0 21 17 21 22 65 74 54 45 46 31 33 36 36 46 31 17 0 0 0 0 0 17 41 26 36 79 64 40 40 22 22 0 17 17 22 0 0 0 0 0 0 0 30 60 41 50 46 50 26 22 22 0 0 0 0 17 0 0 0 0 0 NaN 0 40 45 50 45 30 30 31 22 22 0 0 0 0 0 0 0 0 0 0 NaN 0 21 26 27 30 26 30 17 0 0 0 0 0 0 0 0 0 0 0 0 NaN 0 0 22 17 17 17 17 21 0 0 0 0 0 0 0 0 0 0 0 NaN NaN 0 0 0 0 22 0 17 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN 0 0 0 0 0 0 0 0 17 0 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 0 22 21 22 17 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 17 17 0 17 22 22 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 26 22 26 17 22 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 0 21 26 26 17 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 0 17 17 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 22 0 0 17 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 26 17 17 22 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 21 21 0 17 17 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 25 20 17 22 26 27 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 17 30 22 36 17 17 0 0 0 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 20 30 30 35 17 41 22 22 22 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 17 25 30 26 17 0 17 17 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 0 21 21 21 27 0 22 17 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 0 21 17 20 36 17 26 20 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 21 20 25 25 45 35 40 25 17 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 25 20 30 20 46 50 50 35 22 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 0 30 35 56 66 81 66 71 50 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 17 40 56 66 112 86 107 96 46 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 0 35 61 71 102 107 102 91 61 17 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 30 41 61 91 123 150 156 132 71 17 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 50 61 84 111 139 162 184 137 91 22 0 NaN NaN NaN NaN NaN NaN 0 0 0 20 50 100 111 145 173 150 162 107 91 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 46 45 78 95 162 167 162 150 127 76 22 0 NaN NaN NaN NaN NaN NaN 0 0 0 17 61 117 195 139 150 137 139 91 66 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 20 36 72 106 117 134 102 96 56 25 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 17 61 61 76 51 71 66 25 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 17 25 36 35 41 36 36 0 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 25 17 20 35 36 20 30 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 17 17 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN Frame(:,:,3) = NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 41 17 0 0 NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 22 41 0 0 0 NaN NaN NaN NaN NaN NaN NaN 0 17 0 0 0 0 0 0 0 0 17 0 0 0 NaN NaN NaN NaN NaN NaN 0 17 22 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN 0 31 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 0 0 0 0 17 22 17 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 17 0 0 35 41 41 22 0 0 27 31 0 0 NaN NaN NaN 0 0 0 0 0 27 27 31 46 56 51 27 17 17 31 41 0 0 0 NaN 0 0 0 0 0 0 50 50 50 60 65 51 38 44 38 41 71 0 0 0 NaN 0 0 0 0 31 40 65 71 70 75 75 55 50 65 60 51 90 36 0 0 NaN 0 0 0 17 35 50 65 55 75 55 36 36 30 50 60 56 90 31 0 0 NaN 0 0 17 22 60 80 71 55 50 51 41 27 46 41 36 17 36 22 0 0 0 21 17 21 22 65 74 54 45 46 31 33 35 36 46 31 17 0 0 0 0 0 17 41 26 35 79 64 40 40 22 22 0 17 17 22 0 0 0 0 0 0 0 30 60 41 50 46 50 26 22 22 0 0 0 0 17 0 0 0 0 0 NaN 0 40 45 50 45 30 30 31 22 22 0 0 0 0 0 0 0 0 0 0 NaN 0 21 26 27 30 26 30 17 0 0 0 0 0 0 0 0 0 0 0 0 NaN 0 0 22 17 17 17 17 21 0 0 0 0 0 0 0 0 0 0 0 NaN NaN 0 0 0 0 22 0 17 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN 0 0 0 0 0 0 0 0 17 0 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 0 22 21 22 17 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 17 17 0 17 22 22 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 26 22 26 17 22 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 0 21 26 26 17 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 0 17 17 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 22 0 0 17 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 17 26 17 17 22 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 21 21 0 17 17 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 25 20 17 22 26 27 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 17 30 22 35 17 17 0 0 0 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 20 30 30 35 17 41 22 22 22 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 17 25 30 26 17 0 17 17 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 0 21 21 26 27 0 22 17 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 0 21 17 25 35 17 26 20 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 21 20 25 25 45 35 40 25 17 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 25 20 30 20 46 50 50 35 22 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 0 30 35 56 66 81 66 71 50 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 17 40 56 66 111 86 106 96 46 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 22 0 35 66 71 101 111 101 91 61 17 0 NaN NaN NaN NaN NaN NaN 0 0 0 17 30 41 61 91 122 149 155 132 71 17 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 50 56 83 111 138 160 183 137 91 22 0 NaN NaN NaN NaN NaN NaN 0 0 0 20 50 100 111 144 171 149 160 106 91 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 46 44 77 94 160 166 160 149 127 76 22 0 NaN NaN NaN NaN NaN NaN 0 0 0 17 61 116 194 138 149 137 138 91 66 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 25 35 72 105 116 133 101 96 56 25 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 17 61 61 76 46 71 66 25 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 17 25 35 35 41 35 35 0 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 25 17 20 35 35 20 30 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 17 17 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN Frame(:,:,4) = NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 40 17 0 0 NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 22 40 0 0 0 NaN NaN NaN NaN NaN NaN NaN 0 17 0 0 0 0 0 0 0 0 17 0 0 0 NaN NaN NaN NaN NaN NaN 0 17 22 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN 17 0 17 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN 0 31 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 0 0 0 0 17 22 17 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 17 0 0 35 40 41 22 0 0 27 31 0 0 NaN NaN NaN 0 0 0 0 0 27 27 31 46 56 51 27 17 17 31 41 0 0 0 NaN 0 0 0 0 0 0 49 49 50 60 65 51 38 43 38 41 70 0 0 0 NaN 0 0 0 0 31 40 65 71 70 75 75 55 50 65 60 51 90 36 0 0 NaN 0 0 0 17 35 50 65 55 75 55 36 36 30 50 60 56 90 31 0 0 NaN 0 0 17 22 60 80 71 60 50 51 36 27 46 40 41 17 41 22 0 0 0 21 17 21 22 65 74 54 45 46 31 32 35 36 40 31 17 0 0 0 0 0 17 40 26 35 79 64 40 40 22 22 0 17 17 22 0 0 0 0 0 0 0 30 60 40 50 46 50 26 22 22 0 0 0 0 17 0 0 0 0 0 NaN 0 40 45 50 45 30 30 31 17 22 0 0 0 0 0 0 0 0 0 0 NaN 0 21 26 27 30 26 30 17 0 0 0 0 0 0 0 0 0 0 0 0 NaN 0 0 22 17 17 17 17 21 0 0 0 0 0 0 0 0 0 0 0 NaN NaN 0 0 0 0 22 0 17 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 0 22 21 22 17 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 17 17 0 17 22 22 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 26 22 26 17 22 0 0 0 0 0 0 0 0 NaN NaN NaN 0 0 0 0 0 0 21 26 26 17 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 0 17 17 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 22 0 0 17 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 26 17 17 22 0 0 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 0 21 21 0 17 17 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 30 20 17 22 26 27 0 0 0 0 0 0 NaN NaN NaN NaN 0 0 0 0 0 17 30 22 35 17 17 0 0 0 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 20 30 30 35 17 41 22 22 22 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 17 25 30 26 17 0 17 17 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 0 21 21 26 27 0 22 17 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 0 21 17 25 35 17 26 20 0 0 0 NaN NaN NaN NaN NaN 0 0 0 0 0 21 20 25 25 45 35 40 25 17 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 25 20 30 20 46 50 50 35 22 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 0 30 35 56 66 81 66 71 50 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 17 40 56 66 111 86 106 96 46 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 0 35 66 71 101 106 101 91 61 17 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 30 40 61 91 121 148 154 131 71 17 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 55 61 82 110 137 159 181 137 91 22 0 NaN NaN NaN NaN NaN NaN 0 0 0 20 49 99 110 143 170 148 159 106 91 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 46 44 77 93 159 159 159 148 126 76 22 0 NaN NaN NaN NaN NaN NaN 0 0 0 0 60 115 192 137 148 137 137 91 66 0 0 NaN NaN NaN NaN NaN NaN 0 0 0 25 35 71 104 115 132 101 96 56 25 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 17 60 61 71 46 71 66 25 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 17 25 35 35 40 35 35 0 0 0 NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 25 17 20 35 35 20 30 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 17 17 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 0 0 0 0 0 0 NaN NaN NaN NaN NaN NaN NaN
After going through the csv file, I can suggest a better version of my previous code:
opts = detectImportOptions('FowardWalk.csv','NumHeaderLines',33);
opts.DataLines = [34 93; 96 155; 158 217; 220 279];
opts.VariableTypes = repmat({'double'},size(opts.VariableTypes));
table = readtable('FowardWalk.csv',opts);
Does this give you what you need?
That works, too. I'd suggest using the setvartype function. This avoids needing to use repmat.
opts = setvartype(opts,'double');
Yes, that's a good idea. Updated code:
opts = detectImportOptions('FowardWalk.csv','NumHeaderLines',33);
opts = setvartype(opts,'double');
% put below lines in a loop and change the DataLines parameter
% accordingly if you want to group the data by frames (you should
% add another index to "array" in that case)
opts.DataLines = [34 93; 96 155; 158 217; 220 279];
table = readtable('FowardWalk.csv',opts);
array = table2array(table);

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2018b

Community Treasure Hunt

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

Start Hunting!