본문 바로가기

프로그래밍/Python

[파이썬, Python] csv 파일 불러오기 (open, close, with)

728x90

오늘은 csv 파일 불러오는 법에 대해 공부하겠습니다.

텍스트 파일과 거의 비슷하지만 csv라는 라이브러리를 추가로 활용합니다.

 

import csv

 

open, close는 같은 방식이기에 옵션도 동일합니다.

mode description
"r" Read, 읽기 모드
"w" Write, 쓰기 모드 (파일 존재할 시 새로 쓰기)
"a" Append, 추가 모드, 기존 파일에 내용 추가할 때 사용
"x" Create, 파일 생성 (파일 존재할 시 에러)

 

1. 파일 생성하여 쓰기

 - 우선 파일을 생성하여 몇 줄 작성해 보겠습니다.

 - newline='' 옵션을 사용하는 이유는 csv파일은 기본적으로 쓸 때 마지막에 한줄이 추가 되는데,

   그 부분을 해결해주기 위한 코드입니다.

f = open('file.csv','w', newline='')
wr = csv.writer(f)
wr.writerow([1,'홍길동', '한양'])
wr.writerow([2,'이몽룡', '남원'])
f.close()

 

결과

 

2. 파일에 내용 추가하기

f = open('file.csv','a', newline='')
wr = csv.writer(f)
wr.writerow([3,'최번개', '강원'])
f.close()

 

결과

 

만약 newline옵션을 빼고 하면 아래와 같은 결과를 얻을 수 있습니다.

 

3. with문 사용하여 파일 읽기

 - with 문을 사용 시 open 된 파일이 with 문 안에서만 동작하므로, close를 따로 해주지 않아도 됩니다.

with open('file.csv','r') as f:
    lines = csv.reader(f)
    for line in lines:
        print(line)

 

결과

['1', '홍길동', '한양']
['2', '이몽룡', '남원']
['3', '최번개', '강원']