-
728x90
CSV 파일 읽기
회사에서 운영하는 프로젝트에는 비회원을 초대하면 비회원이 가입시 초대 되었던 어떤 그룹으로 자동으로 할당이 되는 기능이 있는데, 보통 비즈니스 로직에서는 일 대 일로 초대를 하지만, 491명이라는 다수를 한번에 초대해야 하는 일이 생겼다. 로직을 작성하기 전, 초대 할 491명의 비회원 이메일을 전달 받았는데, 파이썬으로 csv 파일을 읽고 다루는 법을 정리해보려 한다.
CSV 파일이란
Csv 파일은 Comma-separated values, 즉 쉼표(comma)로 각 값들을 구분하기 위한 파일이다.
파일의 각 라인이 하나의 데이터 레코드인 셈이다. 각 레코드는 쉼표를 사용함으로써 하나 이상의 필드를 구분한다.
CSV 파일 읽어 들이기
파이썬에서는 open 함수라는 내장 함수를 사용해 특정 파일의 입출력을 관리할 수 있다.
사용하는 법은 매우 간단한데, 다음과 같이 작성해주면 된다.
import csv with open('invite.csv', 'r') as f: for l in f: print(l)
with open vs. open
구글링을 하다보면 with open을 사용하거나 open을 사용한 레퍼런스를 종종 볼 수 있다.
사실상 다른 것은 없다. 같은 open 함수를 사용하는 것이지만, 큰 차이점 하나는 open 함수를 사용하면 반드시 파일을 닫아주어야 하지만, with open을 사용한다면 자동으로 작업이 끝난 후 파일을 닫아주기 때문에 직접 닫을 필요는 없다는 것이다.
위에서 사용했던 with open을 다음과 같이 open 함수만으로도 교체가 가능하다.
import csv f = open('invite.csv', 'r') for l in f: print(l) f.close()
Total row count하기
잘 읽히는 것 같지만, 혹시 몰라 총 수를 카운트 해보기로 했다.
import csv count = 0 with open('invite.csv', 'r') as f: for l in f: count += 1 print(count) # 실행 >>> python3 csv.py 491
491줄이 잘 읽히고 있음을 확인할 수 있다!
Reference
728x90'Back-end > Python' 카테고리의 다른 글
파이썬 이터레이터 (0) 2021.07.09 파이썬 변수의 범위 (1) 2021.05.22 댓글