반응형
들어가며
파이썬을 코딩하다 보면 파일 입출력은 필수다. 뭐... 어디든지 필수겠지, 하지만 파이썬에서는 데이터 분석을 하는 경우가 많기 때문에 데이터를 읽기/쓰기가 자유로워야 한다. 특히 구분자가 ','로 되어있는 csv파일을 자주 읽게 되는데 csv를 읽는 두가지 방법에 대해서 설명한다.
CSV파일 읽기/쓰기
파일 쓰기
with open('./file.csv', 'wb') as csvfile: writer = csv.writer(csvfile, delimiter=',') writer.writerow(['love'] * 3 + ['banana']) writer.writerow(['hong', 'love', 'banana']) writer.writerow(['monkey', 'kkikki', 'min']) # 출력결과 file.csv ''' love,love,love,banana hong,love,banana monkey,kkikki,min '''
파일 읽기
with open('./file.csv', 'rb') as csvfile: reader = csv.reader(csvfile, delimiter=',') for row in reader: print row # ['love', 'love', 'love', 'banana'] # ['hong', 'love', 'banana'] # ['monkey', 'kkikki', 'min']
DictWriter 사용하기
파일 쓰기
첫번째로 fieldnames을 입력을 한다. 여기서 fieldnames은 column명이라고 생각하면 된다. column명인 fisrt_name, last_nam에 해당하는 값을 row로 넣어주는 예제이다.
with open('./dic_file.csv', 'w') as csvfile: fieldnames = ['first_name', 'last_name'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames) writer.writeheader() writer.writerow({'first_name' : 'banana', 'last_name' : 'ssang'}) writer.writerow({'first_name' : 'kong', 'last_name' : 'al'}) writer.writerow({'first_name' : 'kong', 'last_name' : 'dal'}) # 출력결과 dic_file.csv ''' first_name,last_name banana,ssang kong,al kong,dal '''
파일 읽기
파이썬의 Dict의 객체 형태로 파일을 읽어온다. 첫번째 줄에 column명들이 명시가 되어 있어야 한다. first_name, last_name이 key가 되고 row의 값이 key에 맞게 value로 들어간다.
with open('./dic_file.csv', 'rb') as csvfile: reader = csv.DictReader(csvfile) for row in reader: print row # {'first_name': 'banana', 'last_name': 'ssang'} # {'first_name': 'kong', 'last_name': 'al'} # {'first_name': 'kong', 'last_name': 'dal'}
모듈로 사용하기
외부 코드에서 사용하기 위해서는 아래와 같이 사용하시면 됩니다.
반응형
'Programming > Python' 카테고리의 다른 글
[Python] argparse를 이용한 입력 파라미터 받는 방법 (0) | 2016.11.08 |
---|---|
[Python] Singleton Pattern을 이용한 Logger 만들기 (3) | 2016.08.11 |
[Python] 데이터 포맷 변환 - Protocol Buffer를 Json으로 변환 (0) | 2016.08.03 |
[Python] Enum 사용하는 방법 및 예제코드 (0) | 2016.05.31 |
[Python] collections를 이용한 Dictionary 정렬하기 (0) | 2016.05.25 |