CSVread empty cells non zero

I'm trying to change the default empty cell input for Matlab.
I need to read a csv file and output an array using csvread. I suspect that after it reads and puts it into the array it's already zero so can't read as empty?
function [A] =createanarray(filename, linestoskip)
A=csvread(filename,linestoskip); %read the file and skip the input number of lines
if A(isempty(A))=-999
A(A<0)= NaN; %make no value NaN
A; %output A array
end
Many thanks!

2 件のコメント

Jan
Jan 2019 年 3 月 19 日
編集済み: Jan 2019 年 3 月 19 日
Today I've formatted your code to increase the readability. You can do this by your own in the future.
I cannot guess the purpose of: A(isempty(A))=-999 . This is not a comparison, but an assignment. See the difference between = and == . The statement "A;" is useless also.
csvread does not import empty elements. Please post what your inputs are and what you want as output.
Hayley Sanders
Hayley Sanders 2019 年 3 月 19 日
So for example the file i want to import is an excel csv that is:
2 3 3 4 0
1 2 3 4
0 0 2 3 1
With a blank cell. On assignment of array A with
A=csvread('filename')
it changes the blank cell to a zero value. I want to change this to NaN entry.

サインインしてコメントする。

回答 (1 件)

Raghunandan V
Raghunandan V 2019 年 3 月 19 日

1 投票

Hi, The answer is simple. You try with xlsread
[A, B, C ] = xlsread('Data.xlxs');
Here A gives all the numbers of the matrix.
So if there is a cell with no numbers then it will return NaN. Even if there is a string or emptry cell it still returns NaN.
Try it!

製品

リリース

R2018a

質問済み:

2019 年 3 月 19 日

回答済み:

2019 年 3 月 19 日

Community Treasure Hunt

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

Start Hunting!

Translated by