У меня есть текстовый файл, содержащий данные двух столбцов, разделенных запятой. Однако первые 10 строк содержат информацию, которая мне не нужна.

Входной текстовый файл выглядит следующим образом:

# PROGRAM NAME                                      
# The first 10 lines are info I don't need        
#                                           
#                                                                                 
#  
#

892
5
564
1, 0.4377E-014
2, 0.0673E+000
...

Я пытаюсь написать код, который считывает пары значений, начинающиеся в строке 11, в матрицу из 2 столбцов.

Моя (неудачная) попытка выглядит следующим образом:

fin = fopen(fullfile(cd, file_name), 'r');
tLine = fgets(fin);
while ischar(tLine)
    crit_list = [crit_list; tLine(:)];
end

Я намеревался удалить первые 10 строк матрицы после выполнения кода, а затем использовать str2num для пар значений, но я не уверен, что это будет очень эффективно.

Как я могу прочитать этот файл в MATLAB, начиная с 11-й строки?

0
najusten 28 Окт 2019 в 13:07

1 ответ

Лучший ответ

importdata может пропускать строки заголовка:

importdata(file_name,delimiter,10);  % skip 10 header lines

Где вы должны указать ваш разделитель, выбирая файл, который вам нужен delimiter = ',', то есть запятую.

2
Adriaan 28 Окт 2019 в 10:14