* 참고 : textscan 파일에 쓰여진 문자열 읽기

http://zacurr.tistory.com/411


* Header 부분 skip 하여 읽기

아래와 같은 txt 파일의 내용을 읽는다고 가정했을 때,

상위 4줄 즉, header는 skip하고 , 5번째 줄의 본문부터 읽고 싶을 경우


 test.txt


Reading the database...

972 images loaded.

DB name : samples

Current Mode:6

[1/25]-(1)GS3_201845.2_445889.6_1_0.jpg A00915 1.885283

[1/25]-(2) GS3_201845.2_445889.6_1_0.jpg A00229 1.528227

[1/25]-(3) GS3_201845.2_445889.6_1_0.jpg A00754 1.493309



HeaderLines 옵션을 사용


 fp=fopen('test.txt','r');

 test_list = textscan(fp,'%s\t%s\t%s\t%f','HeaderLines',4);

 fclose(fp);




* 특정 부분 skip하여 읽기

만약 중간 부분 혹은 끝 부분의 내용을 skip하고 싶다면?


- 읽을 txt 파일을 수정 혹은 control 할 수 있다면?

=> commentStyle 명령어 사용


아래와 같은 파일을 읽을 때, 끝 2줄을 skip하고 싶다면,

실험 log 파일을 생성할 때 // 등과 같은 기호로 시작하도록 설정 (주석 스타일) (ex) printf('// Average ...\n')


그리고 아래와 같이 commentStyle 명령어와 '//' 값을 설정하여 '//'로 시작하는 값은 skip하도록 설정


test_list = textscan(fp,'%s\t%s\t%s\t%f','HeaderLines',4,'commentStyle','//');

( 첫 4줄은 skip하고, //로 시작하는 것도 skip)


Reading the database...

972 images loaded.

DB name : samples

Current Mode:6

[1/25]-(1)GS3_201845.2_445889.6_1_0.jpg A00915 1.885283

[1/25]-(2) GS3_201845.2_445889.6_1_0.jpg A00229 1.528227

[1/25]-(3) GS3_201845.2_445889.6_1_0.jpg A00754 1.493309

(중략)
[21/21]-(8) OTX2_202776.4_443369.6_10_4.jpg J00755 2.022650
[21/21]-(9) OTX2_202776.4_443369.6_10_4.jpg J00577 1.995117
[21/21]-(10) OTX2_202776.4_443369.6_10_4.jpg J02475 1.834778
// Average retrieval time: 1.50679 [s]
// Worst-case retrieval time: 1.55014 [s]



Posted by 우주여행가
,