개발 공부/파이썬

[파이썬] csv 파일 가져와서 데이터를 리스트에 담기

가이윤 2022. 12. 2. 15:30

파이썬에서 csv에 있는 데이터를 사용하려면 csv 파일에 있는 데이터를 우선 2차원 리스트로 담는 것이 편하다.

다음과 같이 코드를 구성하면 간단하게 데이터를 가져올 수 있다.

5번 행의 open 함수 부분에서 1번째 인자로 csv 파일 경로명과 2번째 인자인 인코딩 방식만 변경해주고 나머지는 그대로 써도 된다.

7번 행은 csv 파일에서 1번째 행인 컬럼 명들을 제외시키고 2번째 행부터 데이터들을 가져올 수 있다.

컬럼 명들도 포함시키고 싶으면 7번 행을 주석 처리 하면 된다.

파일을 다 사용했으면 항상 close() 함수로 파일을 닫아야 한다.

그렇지 않으면 다른 코드에서 똑같은 파일을 사용할 경우 에러가 날 수 있기 때문이다.

비슷한 예를 들면 우리가 평소에 한글이나 엑셀 파일을 실행한 상태로 그 파일의 파일명을 바꾸려고 하거나 삭제나 이동시키는 경우 알림창이 뜨는 거랑 비슷하다.

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import csv
 
try:
  # csv 파일 가져오기
  f = open('./kosis/csv/kosis001m_2020.csv', encoding='euc-kr')
  csv_rows = csv.reader(f)
  header = next(csv_rows) # 열 이름은 제외
except:
  # 파일이 없으면 프로그램 종료
  print('csv 파일이 존재하지 않아서 종료합니다')
  exit() 
 
 
csv_list = list(csv_rows) # 2차원 리스트로 결과가 나온다.
 
print(csv_list)
 
f.close() # 마지막은 항상 파일을 닫아야 한다.
cs