具有不同格式数据的文本扫描

时间:2017-07-03 11:16:17

标签: matlab textscan

我的数据有两种格式,我试图在MATLAB中使用textscan进行扫描

1,2,3,four,five,6
7,8,9,ten,eleven,12

等等,然后是另一堆数据,格式如下

1,2,three,4
5,6,seven,8

我尝试使用

扫描此数据
fid=fopen('data.txt');    
C=textscan(fid,'%f %f %f %s %s %f','delimiter',',');
D=textscan(fid,'%f %f %s %f','delimiter',',');

整个数据看起来像

1,2,3,four,five,6
7,8,9,ten,eleven,12

1,2,three,4
5,6,seven,8

不同的格式数据用空行分隔,问题是C也从第二个表中获取数据,最多为1,2,因此会扰乱D的格式

遇到空行后如何停止textscan

1 个答案:

答案 0 :(得分:0)

您可能需要查看matlab的可读函数。 https://www.mathworks.com/help/matlab/ref/readtable.html

我已经使用这个函数来读取由包含文本和数字的逗号分隔的文件,其中文本扫描很困难。然后,可以将此表转换为单元格数组或矩阵,以便进行任何处理。