2014/01/27

Python에서 numpy를 이용해서 csv파일 읽어오기

python 공부를 하고 있는데, csv 파일을 불러올 일이 생겼더랬습니다. 마구마구 헤매다가 결국 포기하고, 집에 돌아가는 길에 웹을 찬찬히 (역시 모든 일은 찬찬히 하면 풀리기 마련이더군요. ㅋ) 뒤벼보니, numpy에 genfromtxt라는 함수가 있더군요.

참조: http://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt.html

이 함수를 쓰니, 파일을 열고 닫고 자시고 할 필요도 없구,

import numpy as np

만 해주고 밑에

np.genfromtxt를 써주고 몇개의 파라미터만 넣어주면 csv파일을 아주 잘 읽어줍니다. 게다가, 헤더가 있는 경우에는 스킵을 할 수도 있고, 각 열의 이름을 헤더로 지정해주기도 합니다.

예:


reader = np.genfromtxt(filename, dtype=None, delimiter=',',names=True)

각 열에 맞춰서 데이터를 지정해주는 게 dtype인데요. 귀찮으면 그냥 None으로 하면 적당히 지정이 되는 것 같습니다. 특별하게 지정해줘야 할 경우에는 지정해주면 될 것 같구요. delimiter는 구분해주는 문자구요. names는 맨 위에 있는 걸 이름으로 지정해줄 건지 아닌지를 선택하는 파라미터입니다. skip_header와 같이 쓰면 이름 지정이 안됩니다.

댓글 없음: