* 참고 : textscan 파일에 쓰여진 문자열 읽기
* 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] |
'연구관련 > 프로그래밍' 카테고리의 다른 글
[MATLAB] cell 관련 이것저것 (2) - 계층 구조 cell (0) | 2015.08.20 |
---|---|
[MATLAB] 여러개의 cell, 하나로 합치기 (계층/비계층 구조 cell) (1) | 2015.08.20 |
[MATLAB] cell 관련 이것저것 (1) - 비계층 구조 cell (0) | 2015.08.18 |
[MATLAB] figure를 이미지 파일로 저장 (0) | 2015.08.13 |
[MATLAB] 해당 element가 특정 set에 속하는지 확인 (0) | 2015.08.11 |