더북(TheBook)

드디어 원하던 데이터가 출력됩니다. 가장 앞에 대괄호 2개는 리스트 안에 리스트, 즉 이차원 리스트라는 의미임을 알죠? 그런데 실행결과 앞부분에 표의 헤더 부분도 함께 출력됩니다. 헤더는 데이터 분석에 필요한 순수한 데이터가 아닙니다. 그래서 헤더를 제거해야 합니다. 이는 앞의 형식에 나왔듯이 next() 명령어로 처리합니다. next(data)는 읽어온 data에서 한 행을 건너뛰고 다음 행을 읽게 합니다. 이 부분은 data를 리스트로 변환하기 전인 세 번째 단계에서 먼저 수행해야 합니다.

f = open('card.csv', encoding='utf8')
data = csv.reader(f)
next(data)
data = list(data)
print(data)
실행결과
[['2019-10-12 9:13', '1972753', '본', 'S&', '185', '네이버파이낸셜(주)', '546800', '일시불(A)', '부분취소'], ['2019-10-12 11:56', '3399357', '본', 'S&', '185', 'GS샵', '60440', '일시불(A)', '전표매입']…]

헤더 부분이 없어지고 온전히 데이터만 출력됐습니다. 실행결과는 뒤에서 더 자세히 살펴보겠습니다. 여기서는 CSV 파일을 읽어 들이는 4단계 [파일 열기 → 파일 읽기 → 표의 헤더 제거하기 → 리스트로 변환하기]와 명령어 형식만 잘 기억해 두세요.

CSV 파일 읽어 들이기 형식

import csv               # csv 라이브러리 포함하기

f = open('파일명.csv')   # 파일 열기
data = csv.reader(f)     # 파일 읽기
next(data)               # 표의 헤더 제거하기
data = list(data)        # 리스트로 변환하기
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.