读取由逗号和制表符分隔的行
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'});
我想阅读每行都包含数字的文件。这是格式的示例-
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'});