读取由逗号和制表符分隔的行

Read line delimited by comma and tab

我想阅读每行都包含数字的文件。这是格式的示例-

0,0,0   1   0   0   0
0.02,0.1,0.98   8.77    0.985292    0.112348    0.112348
0.04,0.2,1.96   8.77    0.985292    0.112348    0.224696

如上所示,前三个数字以逗号分隔,之后所有其余数字在行中以制表符分隔。因此,无法使用 dlmread 或 textscan。有什么办法解决吗?谢谢!

是的,您应该在函数中添加两个参数:

Delimiter %choose the delimiter

MultipleDelimsAsOne %Treat Repeated Delimiters as One

选项 1:

小 "trick" 如果您提供一种结构作为输入,您可以 select 多个分隔符:{',',' '}

Result = textscan(fileID,'%f %f %f %f %f %f %f','Delimiter',{',',' '},'MultipleDelimsAsOne',1);

选项 2:(应该有效)

这次我不使用MultipleDelimsAsOne但我明确分隔符可以是逗号或制表符(带\t)。

Result = textscan(fileID,'%f %f %f %f %f %f %f','Delimiter',{',','\t'});