gpt4 book ai didi

matlab - MATLAB 中的文本扫描 : read NULL value as NaN

转载 作者:行者123 更新时间:2023-12-02 09:04:09 25 4
gpt4 key购买 nike

我有一个包含以下数据的 .txt 文件:

sampleF.txt -->(制表符分隔)

MSFT    200    100
APPL 10 NULL
AMZN 20 40

我需要使用textscan读取这些数据。我在读取 NULL 数据时遇到问题。使用 treatasempty 参数,我可以将其读取为 0。但我想将其读取为 NaN。请帮忙!谢谢!

fName = '.....\sampleF.txt'
[fid, message] = fopen(fName) ;
if fid < 0, disp(message), else
datatxt = textscan(fid, '%q %d %d', 'Delimiter', '\t','treatAsEmpty','NULL');
datatxt = [ datatxt {1} num2cell(datatxt {2}) num2cell(datatxt {3})] ;
fclose(fid) ;
end

%datatxt = { 'MSFT' [200] [100] ; 'AAPL' [10] [NaN] ; 'AMZN' [20] [40] }

最佳答案

问题在于类型 int32 不支持 NaN 值。相反,将数字读取为 double 。即:

data = textscan(fid, '%s %f %f', 'Delimiter','\t', ...
'treatAsEmpty','NULL', 'EmptyValue',NaN);

关于matlab - MATLAB 中的文本扫描 : read NULL value as NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6657963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com