MATLAB - 读取缺少数据的CSV的最佳方法

Tru*_*rup 1 csv file-io matlab missing-data

我有一个可能缺少数据的CSV文件,数据是字符和数字.处理这个问题的最佳方法是什么?

Amr*_*mro 5

这是一个例子:

FILE.CSV

name,age,gender
aaa,20,m
bbb,25,
ccc,,m
ddd,40,f
Run Code Online (Sandbox Code Playgroud)

readMyCSV.m

fid = fopen('file.csv','rt');
C = textscan(fid, '%s%f%s', 'Delimiter',',', 'HeaderLines',1, 'EmptyValue',NaN);
fclose(fid);
[name,age,gender] = deal(C{:});
Run Code Online (Sandbox Code Playgroud)

数据如下:

>> [name num2cell(age) gender]
ans = 
    'aaa'    [ 20]    'm'
    'bbb'    [ 25]    '' 
    'ccc'    [NaN]    'm'
    'ddd'    [ 40]    'f'
Run Code Online (Sandbox Code Playgroud)