У меня есть большая матрица из 102730 строк в виде текстового файла (образец текстового файла прилагается) с некоторыми заголовочными файлами. Первый столбец показывает год, следующий за месяцем, за которым следуют день и значение1, значение2 и значение 3. Некоторые ячейки отсутствуют / пусты. Я хочу заполнить эти пустые ячейки NaN, чтобы они не мешали следующему значению.
Это входная матрица:
1970 01 13 21.0 6.1 06 000.0
1970 01 14 22.4 8.1 03 000.0
1970 01 15 21.2 8.1 04 000.0
1970 01 16 22.6 9.1 04 000.0
1970 01 17 22.8 9.1 02 000.0
1970 01 18 22.9 8.9 07 000.0
1970 01 19 23.8 10.8 04 000.0
1970 01 20 21.8 12.1 10 010.5
1970 01 21 19.8 06 012.9
1970 01 22 15.3 8.5 07 000.0
1974 06 28 39.2 25.6 03 000.0
1974 06 29 41.2 30.5 05 000.0
1974 06 30 40.3 31.2 07 000.0
1974 07 01 41.3 31.5 12 000.0
1974 07 02 43.3 31.3 20 000.0
1974 07 03 41.2 16 041.6
1974 07 04 34.3 21.4 14 054.5
1974 07 05 33.1 23.8 05 000.0
1974 07 06 36.2 28.9 06 000.0
1975 04 18 36.6 20.8 12 000.0
1975 04 19 37.4 21.1 05 000.0
1975 04 20 39.9 27.0 07 000.0
1975 04 21 39.5 27.3 09 000.0
1975 04 22
1975 04 23 39.5 27.1 08 000.0
1975 04 24 37.7 26.0 10 000.0
1975 04 25 38.7 27.2 15 000.0
Желаемая выходная матрица:
1970 01 13 21.0 6.1 06 000.0
1970 01 14 22.4 8.1 03 000.0
1970 01 15 21.2 8.1 04 000.0
1970 01 16 22.6 9.1 04 000.0
1970 01 17 22.8 9.1 02 000.0
1970 01 18 22.9 8.9 07 000.0
1970 01 19 23.8 10.8 04 000.0
1970 01 20 21.8 12.1 10 010.5
1970 01 21 19.8 Nan 06 012.9
1970 01 22 15.3 8.5 07 000.0
1974 06 28 39.2 25.6 03 000.0
1974 06 29 41.2 30.5 05 000.0
1974 06 30 40.3 31.2 07 000.0
1974 07 01 41.3 31.5 12 000.0
1974 07 02 43.3 31.3 20 000.0
1974 07 03 41.2 Nan 16 041.6
1974 07 04 34.3 21.4 14 054.5
1974 07 05 33.1 23.8 05 000.0
1974 07 06 36.2 28.9 06 000.0
1975 04 18 36.6 20.8 12 000.0
1975 04 19 37.4 21.1 05 000.0
1975 04 20 39.9 27.0 07 000.0
1975 04 21 39.5 27.3 09 000.0
1975 04 22 Nan Nan Nan Nan
1975 04 23 39.5 27.1 08 000.0
1975 04 24 37.7 26.0 10 000.0
1975 04 25 38.7 27.2 15 000.0
Как попытка, сначала я попробовал это:
T = readtable('sample.txt') ;
Вышеупомянутый код не работал, так как он запутался и дал неправильное число столбцов, когда перед десятичной дробью есть 2 цифры. Во-вторых, я нашел эту ссылку: Создание новой матрицы из ячейки с несколькими пустыми ячейками без учета пустых ячеек
Фолл. фрагмент кода может быть полезен по этой ссылке, но я не знаю, как прочитать данные непосредственно из порядка текстовой панели, чтобы применить этот код и последующий процесс поиска:
inds = ~cellfun('isempty', elem); %elem to be replaced as sample
Я также узнаю способ обнаружения пустых ячеек здесь: Как я могу обнаружить пустые ячейки в массиве ячеек?
но я не мог понять, как читать данные из текстового файла, учитывая эти пустые ячейки.
Может ли кто-нибудь помочь, пожалуйста?