Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 16:49   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何将文本字段读取到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} 您为什么要合并它们?它们已经在一个单元阵列中在一起,这是您将获得的最大组合。



更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 23:50


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.