如何将任意格式的文件导入matlab?

时间:2016-10-14 18:50:48

标签: matlab import textscan

我正在尝试在Matlab中导入大量数据表,但是这些工作表是奇怪的格式,无法被常用函数读取(例如load,importdata)。 我试图用文本扫描来读这个,但是还不是很成功。 我想要导入的数据结构如下:

#DATE Thu Oct 13 19:42:07 EDT 2016
#PATIENT_ID                                                                                                                             
#FILE   REGION  MODEL   vB  COV K1  COV k2  COV k3  COV k4  COV Vs  COV Vt  COV K1/k2   COV k3/k4   COV Flux    COV DOF SumSquared  ChiSquare   AIC SC  MSC R2  Sy.x    Runs test   AUC
#UNITS          1-Jan   %   ml/ccm/min  %   1/min   %   1/min   %   1/min   %   ml/ccm  %   ml/ccm  %   ml/ccm  %   1-Jan   %   ml/ccm/min  %   1-Jan   1-Jan   1-Jan   1-Jan   1-Jan   1-Jan   1-Jan   1-Jan   1-Jan   1-Jan
/autofs/eris/jmhgp/users/DanA/New_CLBP_recons/Dynamic_SUV_TACs/2TC_modeling/2TC_modeling_blood-brain_TAC/AIF_masamune/ALS/ALS-701-001_L3Exp_metcor_SUV.bld  thalamus    2 Tissue Compartments   0.05    --- 0.094663815 7.652798652 0.108092863 34.14303115 0.02227185  124.8691372 0.02043199  149.0508534 0.954624576 65.64535418 1.830388363 40.04703162 0.875763787 28.63844043 1.090048014 64.4379452  0.016172615 83.22681328 24  1.352503833 13.50199461 77.56322881 81.89204686 0.298863801 0.442659038 0.237390662 1   5538.027175

这些数据有四个独立的块堆叠在一起(我这里只展示了第一个“块”)。理想情况下,我想将最后三列的每个元素(用空格分隔)提取到一个单独的单元格中。 到目前为止,我尝试过类似的事情:

fid = fopen('myFile.arb');
tmp = textscan(fid, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', '\n');
fclose(fid); 

这显然不起作用。我得到了所有数据,但很难操纵长字符串。我想我不太清楚文本扫描如何工作来提取数据,我可能不会以正确的方式思考这个问题。任何帮助或指示将不胜感激。谢谢!

0 个答案:

没有答案