티스토리 뷰

파이선을 설치하고 실행하는데 성공했다면 이제 본격적으로 파이선을 이용한 코딩을 배워보자. 파이선에는 기본으로 들어있는 괜찮은 함수가 많다. 



open(파일이름, 모드)

파일을 열어주는 함수이다. 파일은 텍스트 파일을 말한다. 파일이름에는 열고싶은 파일 이름을, 모드는 읽기 'r' 또는 쓰기 'w'를 선택한다. 예를들어 아래와 같이 사용한다.

open( 'file_name.txt', 'r')


파일을 열었다면 for 문을 사용해 한줄씩 읽어들일 수 있다.


for line in open('file_name.txt','r'):

print line


이렇게 하면 파일 내용을 한줄씩 line이라는 변수로 읽어서 출력해 준다.


strip()

위의 예시를 실행해 보면 파일안에 내용을 출력할 때 빈 줄이 하나씩 더 들어가는 것을 볼 수 있다. 이것은 각 라인 뒤에 "다음줄로" 라는 뜻의 return carriage 가 숨어있기 때문이다. 눈에는 보이지 않지만 각 라인 뒤에 \n (유닉스, 리눅스, 맥) 이 있다. 이러한 필요없는 부분들을 제거해 주는 것이 strip() 함수이다. 아래와 같이 사용한다.


line.strip()


위에서 본 for 문과 합쳐서 보면 아래와 같다


for line in open('file_name.txt','r'):

print line.strip()


이렇게 하면  라인 뒤에 있는 불필요한 것들이 잘려나간다.


split(패턴)

바이오 인포매틱스에서 다루는 많은 파일들이 '탭'이나 '콤마'로 행과 열을 구분하여 저장되어 있다. 라인(행)을 읽어서 각각의 데이터(열)을 spl이라는 이름의 배열 (Array)에 저장하는 방법은 아래와 같다. 만약 탭으로 나눈다면 

spl = line.strip().split('\t')


또는 콤마로 나눈다면 

spl = line.strip().split(',')


이와 같이 사용할 수 있다.


탭으로 나누어져 있는 file_name.tsv (tab separated value) 나 콤마로 나누어져 있는 file_name.csv (comma separated value)를 위와 같은 방법으로 읽을 수 있다.


for line in open('file_name.tsv','r'):

spl = line.strip().split('\t')

print spl


enumerate()

이 함수는 파일을 열때 몇번째 행(row)인지의 정보를 함께 보내준다. 예를들어 첫번째 행에 파일을 설명하는 내용일 들어있고 두번째 행부터 데이터가 시작한다고 하자. 그러면 아래와 같은 방법으로 첫번째 행을 스킵할 수 있다.


for n, line in enumerate(open('file_name.tsv','r')):

if n == 0:

 continue

spl = line.strip().split('\t')

print spl


신고
댓글
댓글쓰기 폼
공지사항
Total
11,991
Today
2
Yesterday
27
링크
«   2017/12   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
글 보관함