![]() |
如何将文本字段读取到MATLAB中并创建单个矩阵
我有一个巨大的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} 您为什么要合并它们?它们已经在一个单元阵列中在一起,这是您将获得的最大组合。 [url=https://stackoverflow.com/questions/1099905]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 23:28。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.