将 matlab 列拆分为几列



我有一个.txt文件,加载时会放置数据:

'A:     -379     G:      277 '
'A:     -422     G:      291 '    
'A:     -361     G:      217 '

作为单元格放入一列中,我尝试让它与importdata('.txt'(等一起使用,以及尝试其他人的想法,但到目前为止空手而归。很可能是由于不了解某些功能如何正常工作。

正如可能猜到的那样,我需要将数据分类为 4 列,以便我可以访问 2 组值,例如:

 1       2        3        4 <- Column
A:     -379      G:      277
A:     -422      G:      291    
A:     -361      G:      217 

您可以使用 textscan 来解决解析问题。

fid = fopen('text_43254785.txt');
data = textscan(fid, '%s%f%s%f', 'Delimiter',' ', 'MultipleDelimsAsOne',1);
fclose(fid);

格式说明符是'%s%f%s%f' ,表示一行 [字符串、数字、字符串、数字]。我使用'Delimiter',' ', 'MultipleDelimsAsOne',1将多个空格视为单个分隔符。结果是

>> data{1}
ans = 
    'A:'
    'A:'
    'A:'
>> data{2}
ans =
  -379
  -422
  -361

由此,您可能可以继续您的项目。

编辑:更新为使用粘贴示例。

您可以使用textscan

s = fopen('MPU2.txt', 'r');
data=textscan(s,'%s%d%s%d%*s');
fclose(s);

最新更新