본문 바로가기
python

python3으로 CSV 파일 만들기

by 황인태(intaehwang) 2021. 12. 14.
반응형

안녕하세요 황인태입니다.

데이터를 적재하다 보면 DB에 데이터를 적재하거나 가져올 때 CSV 파일을 많이들 사용할텐데요. 이번 게시글은 python3를 이용하여 csv 파일을 만드는 방법에 대해 알려드리도록 하겠습니다.


1. CSV

csv는 comma-separated values의 축약어 인데요. 이름에서 알 수 있듯 정보가 콤마로 분리된 파일을 말합니다. 즉

"가", "나", "다"

와 같이 콤마(,)로 텍스트가 분리된 파일을 말합니다. 이러한 파일을 엑셀에서는 보기 좋게

로 출력합니다.

csv 파일을 이용하여 DBeaver와 같은 데이터베이스 관리도구에서는 table에 데이터를 내보내거나 가져올 수 있습니다.


2. code

제가 보여드릴 code는 csv파일을 이용하여 DB에 저장하는것을 목적으로 하고 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import csv
 
def createCsv(rowList):
    w = open("D:/temp/testCsv.csv"'at', newline='', encoding='cp949')
    wr = csv.writer(w)
 
    for row in rowList:
        wr.writerow(row)
 
    w.close()
 
 
if __name__ == "__main__":
    rowList = [
        ["1""aaa""20171201""안녕하세요? \n 황인태 입니다.""10""1""C1"],
        ["2""bbb""20171201""안녕하세요?""10""2""C1"],
        ["3""ccc""20171201""안녕하세요?""10""3""C1"],
        ["4""ddd""20171224""안녕하세요?""20""V""C2"],
        ["5""eee""20171224""안녕하세요?""20""VV" ,"C2"],
        ["6""fff""20171224""안녕하세요?""30""1""C3"]
    ]
 
    createCsv(rowList)
cs

line 14를 보시면 rowList로 임시로 데이터를 만들었습니다. 해당 데이터를 이용하여 csv 파일을 만들어 볼텐데요.

line 3에 createCsv()를 정의하였습니다. open 함수에 4가지 파라미터를 입력하였는데요. 각각 파일위치와 파일명, 저장 모드, 줄바꿈, 인코딩입니다.

여기서 파일위치와 파일명, 인코딩은 각자 설정을 하시면 되고, 저장모드와, 줄바꿈에 대해 자세히 알아보도록 하겠습니다.


3. 저장모드

저장모드는 다음과 같은 옵션들이 있습니다.

  1. 'r' : 읽기모드 (기본값)
  2. 'w' : 쓰기 모드 (덮어 쓰기)
  3. 'x' : 새로운 파일을 만들고 쓰기
  4. 'a' : 파일이 있는경우 추가해서 쓰기
  5. 'b' : 이진모드
  6. 't' : 텍스트 모드 (기본값)
  7. '+' : 업데이트할 디스크 파일 열기(읽기 및 쓰기)
  8. 'U' : 범용 줄 바꿈 모드

여기서 저는 1, 2, 4, 6만 사용하고 있고 주로 4, 6을 같이 사용하고 있습니다.


4. 줄바꿈

줄바꿈 옵션은 line 8의 writerow를 반복할 때 발생하는데요. 옵션의 유무에 따라 생성되는 csv를 보면 그 차이를 알 수 있습니다.

1. newline = '' 옵션이 없는 경우

2. newline = '' 옵션이 있는 경우

 

 

반응형
Buy me a coffeeBuy me a coffee

댓글