Problems with empty cell in a large matrix
    2 ビュー (過去 30 日間)
  
       古いコメントを表示
    
Hello:
I have a large matrix of 102730 rows in the form of text file (sample text file is attached) with some header files in it. The first column show year, the next the month, followed by the day, and value1, value2 and value 3. Some of the cells are missing/empty. I want to fill these empty cells with NaN, so that they don't interefere with the next value. I am also attaching the text files of sample input (sample.txt) and desired output (Output.txt) for your reference.  
Could anyone please let me know how to retrieve data?
0 件のコメント
採用された回答
  Peter Perkins
    
 2019 年 8 月 28 日
        You have a fixed-width file, and readtable needs to be told how it's organized, using fixedWidthImportOptions:
>> opts = fixedWidthImportOptions('NumVariables',7,...
                                  'DataLines',2,...
                                  'VariableNames',["Ind" "Mo" "dy" "V1" "V2" "AW" "X"],...
                                  'VariableWidths',[5 3 4 6 5 3 5],...
                                  'VariableTypes',repmat("double",1,7));
>> T = readtable('sample.txt',opts)
T =
  17×7 table
    Ind     Mo    dy     V1      V2     AW      X  
    ____    __    __    ____    ____    ___    ____
    1974    6     28    39.2    25.6      3       0
    1974    6     29    41.2    30.5      5       0
    1974    6     30    40.3    31.2      7       0
    1974    7      1    41.3    31.5     12       0
    1974    7      2    43.3    31.3     20       0
    1974    7      3    41.2     NaN     16    41.6
    1974    7      4    34.3    21.4     14    54.5
    1974    7      5    33.1    23.8      5       0
    1974    7      6    36.2    28.9      6       0
    1975    4     18    36.6    20.8     12       0
    1975    4     19    37.4    21.1      5       0
    1975    4     20    39.9      27      7       0
    1975    4     21    39.5    27.3      9       0
    1975    4     22     NaN     NaN    NaN     NaN
    1975    4     23    39.5    27.1      8       0
    1975    4     24    37.7      26     10       0
    1975    4     25    38.7    27.2     15       0
4 件のコメント
  Peter Perkins
    
 2019 年 8 月 30 日
				Even though fixedWidthImportOptions was introduced in R2018b, you can try using detectImportOptions with file type 'fixedwidth'. Introduced in R2017a.
その他の回答 (2 件)
  KSSV
      
      
 2019 年 3 月 20 日
        
      編集済み: KSSV
      
      
 2019 年 3 月 20 日
  
      Read about readtable. It will insert NaN's where ver values are missing. 
T = readtable('sample.txt') ;
3 件のコメント
  Peter Perkins
    
 2019 年 8 月 28 日
				That happens because readtable treats the file as space-delimited, when in fact it is fixed-width format. See my response below.
参考
カテゴリ
				Help Center および File Exchange で Logical についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!