Problems with empty cell in a large matrix
1 次查看(过去 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 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!