avoid replacing numbers with nans when importing data from dat file

I have a dat file that is mixed up with text and numbers. However, I only need the numbers from certian row to certian row (all the text and other numbers are not needed)
I have tried to use readtable function, but all the numbers I want to read are appearing as NaN. Moreover, when I convert the whole file to excel and deleted everything except my numbers then readed the file as xlsx it works but some variables appear in the following format ('123') thus matlab assume these are cells and an error appear saying that var1 and variablr 22 are double and array.
Therefore, how can I read directly from the dat file and avoid the issue of NaNs then avoid the cells and read the numbers or better to change the cell to regular double data that can be assigned to variables without errors.

6 Comments

I have atttached a sample of the data and deleted the other parts, in the excel you can see that all numbers are listed in the first cell ( not distributed to columns all are in 1 column ).
load() or readmatrix() that file. It is not a comma separated file
my issue is that I want to read directly from the dat file or csv file without editing anything. I have tried to use readmatrix and it works fine after I separate the numbers in the excel using text to columns function so that all numbers placed in the 1 column distribute to the rest of the columns then matlab can work fine, hence, is there any function that can do this for me without using the excel ?
When I import the file in R2020b, all columns are read correctly except column 22. You can read it as string
opts = detectImportOptions('data.csv');
opts.VariableTypes{22} = 'string';
T = readtable('data.csv', opts)
it worked maybe because I have deleted the text, I have attached a new file that includes some of the text in the data

Sign in to comment.

Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!