#matlab #import
#matlab #импорт
Вопрос:
Я знаю, что существуют различные способы импорта данных из текстового файла, но я не уверен, какой из них является более простым. Я попытался использовать данные импорта, но столкнулся с проблемой.
Данные выглядят следующим образом:
Track File : C:TaslImg0000059.TRK
-----------------------------------
X Y PHI RANGE DIP MAJ MIN XT ZT M2
192.7 30.0 286.2 0.0 0.0 5.60 4.42 6.59 108.50 1.32
73.4 689.2 210.8 0.0 0.0 34.61 29.20 34.61* 108.50 2.31*
26.2 475.1 80.4 0.0 0.0 5.66 5.14 5.03* 108.50 0.44*
43.3 674.3 61.7 0.0 0.0 18.95 10.85 27.42 108.50 2.16...
Кажется, это работает, но когда я смотрю на часть данных выходной структуры, она содержит только строки до (и включая первую, которая содержит *. Он также показывает эти значения как NaN.
Есть ли способ заставить Matlab игнорировать эти *, или есть лучший подход к импорту этих данных?
Спасибо
Комментарии:
1. Предварительная обработка ( поиск и замена и т. Д.) Файла для удаления всех
*
перед импортом?2. Это быстрое решение для небольшого количества файлов, спасибо!
Ответ №1:
В итоге я сделал это:
fidInFile = fopen(filename,'r'); %# Open input file for reading
fidOutFile = fopen([filename '_nostars'],'w'); %# Open output file for writing
nextLine = fgets(fidInFile); %# Get the first line of input
while nextLine >= 0 %# Loop until getting -1 (end of file)
nextLine = strrep(nextLine,'*',''); %# Replace wordA with wordB
fprintf(fidOutFile,'%s',nextLine); %# Write the line to the output file
nextLine = fgets(fidInFile); %# Get the next line of input
end
fclose(fidInFile); %# Close the input file
fclose(fidOutFile); %# Close the output file
Затем я использовал ‘importdata’ для нового файла. Затем я мог бы запустить это для сотен файлов, а не вручную просматривать каждый из них и использовать find и replace.