登录论坛

查看完整版本 : 如何将文本字段读取到MATLAB中并创建单个矩阵


poster
2019-12-10, 16:49
我有一个巨大的CSV文件,其中包含数字和文本数据类型。我想将其读入Matlab中的单个矩阵中。我将在这里使用一个更简单的示例来说明我的问题。假设我有这个CSV档案:

1,foo 2,bar 我正在尝试使用以下方法将其读入MatLab:

A=fopen('filename.csv'); B=textscan(A,'%d %d', 'delimiter',','); C=cell2mat(B); 前两行工作正常,但问题是texscan不会创建2x2矩阵;而是创建一个1x2矩阵,每个值都是一个数组。因此,我尝试使用最后一行将数组组合成一个大矩阵,但由于数组具有不同的数据类型,因此会产生错误。

有办法解决这个问题吗?还是结合数组的更好方法?


回答:
我注意到将它们结合起来是否是一个好主意。分开使用它们可能会更好。

我更改了您的代码,以使其更好地工作:

clear clc A=fopen('filename.csv'); B=textscan(A,'%d %s', 'delimiter',',') fclose(A) 看结果

K >> B {1}

回答=

1 2 K >> B {2}

回答=

'foo' 'bar' 确实,我认为这是最有用的格式。如果有的话,大多数人都希望将这个单元阵列分成较小的块

num = B{1} txt = B{2} 您为什么要合并它们?它们已经在一个单元阵列中在一起,这是您将获得的最大组合。



更多&回答... (https://stackoverflow.com/questions/1099905)