0. Introduction
- csv 파일이란??
Comma-Separated Values
의 약자로, 콤마로 구분된 텍스트 파일이다.- 확장자 명은
.csv
이다. - csv 파일은 data science 분야에서 주로 사용하여, 데이터를 주고 받을 때 사용하는 형식이다.
- data science 분야나 전처리할 때, csv로 임시로 저장을 했다가 나중에 활용하는 형식으로도 많이 사용하고 있다.
- csv의 MIME 형식은 text/csv 이다.
- MIME type이란 client에서 전송하는 문서의 종류를 표시하는 기능이다. 서버에서 이 type을 이용해서 각각 파일의 확장자를 확인할 수 있다.
- csv의 파일 1행을 열머리글로
header
라고 한다. - 콤마(,)로 반드시 구분되는 게 아니지만, 정석은 콤마다.
1. Read csv file (csv 파일 읽기)
- 두 개의 예제를 통해 읽기 실습을 해보겠다.
- 첫 번째 예제는 정석으로 콤마(,)로 구분되는 파일이다. (text1.csv)
- 두 번째 예제는 코마가 아닌 합기호로 구분되는 파일이다. (text2.csv)
- csv 파일을 읽기 위해서는
csv.reader
함수를 사용해야한다. - csv.reader: Return a reader object which will iterate over lines in the given csvfile. csvfile can be any object which supports the iterator protocol.
- the iterator protocol을 지원하는지 알기 위해서
dir()
함수를 사용하여__iter__
이 있는지 확인한다. - 그리고, 파이썬은
list
형태로 가져오고, 작성한다.
- 예제 파일 내용은 아래와 같다.
|
|
- 첫 번째 예제
- csv 파일의 첫 행 부분을 Header라고 한다. Header skip을 원한다면
next()
함수를 사용한다. next()
: Return the next item from the iterator.- 괄호 안에 입력한 iterator의 두 번째 행부터 출력하겠단 의미다.
seek()
함수처럼 cursor를 이동한다.
|
|
- 두 번째 예제 (test2.csv)
|
|
DictReader
를 사용하여 test2.csv의 내용을 dictionary 형태로 formatting한다.
|
|
2. Write csv file (csv 파일 쓰기)
|
|
- dict의 key 값을 field명으로 활용해서 써보기
.writeheader
: Write a row with the field names (as specified in the constructor) to the writer’s file object.writerow
: Write the row parameter to the writer’s file object, formatted according to the current Dialect.
|
|