본문 바로가기

데이터분석/Python

파일 포맷 이해(CSV)

Excel 때문에 익숙한 CSV 포맷, 파이썬에서는 어떻게 다룰까?

 

1. CSV 정의

 - CSV(Comma-Seperated Values) : 콤마(,)로 구분된 데이터 파일이라는 뜻. 별 뜻이 아니다.

 

2. CSV 읽어오기

 ① 파이썬 CSV 라이브러리 import

    import csv

 ② 기본 텍스트 파일과 여는것처럼 open 이용해서 열기

    data_file = open('./sample.txt', 'r', encoding = 'utf-8-sig')

 ③ csv 라이브러리 이용해서 data 읽어주기 (delimeter는 콤마(,) 로 설정)

    data_lines = csv.reader(data_file, delimiter = ',')

 ④ csv 파일의 라인별로 data 가져오고 싶으면 for 문 이용하자

    for dummy in data_lines() : 

         print(dummy)

 ⑤ 할거 다했으면 언제나 그랬듯 닫아주자.

    data_file.close()

 

3. CSV 파일 쓰기

 ① 파이썬 CSV 라이브러리 import

    import csv

 ② 기본 텍스트 파일과 여는것처럼 open 이용해서 열기 ('w' 옵션, newline 사용)

    data_file = open('./sample.txt', 'w', encoding = 'utf-8-sig', newline='')

 ③ csv.writer 이용해서 data 파일에 내용 쓰기 (delimeter는 콤마(,) 로 설정)

    data_write = csv.reader(data_file, delimiter = ',')

    data_write.writerow(['1','2','3'])

 ④ 할거 다했으면 언제나 그랬듯 닫아주자.

    data_file.close()

 

4. Dict Type으로 CSV 파일 쓰기

 ① 파이썬 CSV 라이브러리 import

    import csv

 ② 기본 텍스트 파일과 여는것처럼 open 이용해서 열기 ('w' 옵션, newline 사용)

    data_file = open('./sample.txt', 'w', encoding = 'utf-8-sig', newline='')

 ③ csv.Dictwriter 이용해서 data 파일에 내용 쓰기

    field_name_list = ['First Name', 'Last Name']

    writer = csv.DictWriter(data_file, fieldnames = field_name_list)

    writer.writerheader()

    writer.writerow({'First Name': 'Dave', 'Last Name': 'Lee'})  # 각 데이터는 사전 타입으로 저장 가능
    writer.writerow({'First Name': 'David', 'Last Name': 'Kim'})
    writer.writerow({'First Name': 'Robin', 'Last Name': 'Park'})

 ④ 할거 다했으면 언제나 그랬듯 닫아주자.

    data_file.close()

 

Dict Type Csv 쓰기 결과물

 

'데이터분석 > Python' 카테고리의 다른 글

데이터 포맷 (JSON)  (0) 2021.07.08
데이터 포멧 (XML)  (0) 2021.07.07
파일 포맷 이해 (Plain Text)  (0) 2021.07.07