이번에도 기대한 데이터는 출력되지 않고 알아보기 어려운 실행결과가 한 줄 출력됩니다. 사실 CSV 파일의 데이터를 data 변수에 저장하긴 했지만, 결과에 출력할 수 있는 데이터 타입이 아니라서 그렇습니다(실행결과의 내용은 csv.reader()를 실행한 결과가 담긴 메모리 위치를 나타냅니다).
TIP UnicodeDecodeError가 발생했다면 open()의 encoding 옵션이 운영체제에 맞게 설정됐는지 확인해 주세요. 운영체제에 맞춰 바꿔도 오류가 발생한다면 euc-kr로 설정하거나 encoding 옵션을 아예 없애고 실행해 보기 바랍니다. 옵션이 없어야만 오류가 발생하지 않는 경우도 있습니다.
여전히 data 변수에 담긴 내용을 보려면 한 단계를 더 거쳐야 합니다. 네 번째 단계인 리스트로 변환하기로, data 변수의 데이터 타입을 데이터 분석에서 사용할 수 있는 리스트로 변경합니다. 데이터 타입을 리스트로 바꿀 때는 6장에서 배웠듯이 list()로 감싸면 됩니다.
f = open('card.csv', encoding='utf8')
data = csv.reader(f)
data = list(data)
print(data)
실행결과
[['이용일시', '승인번호', '본인구분', '브랜드', '이용카드', '가맹점명', '이용금액', '이용구분', '매입상태'], ['2019-10-12 9:13', '1972753', '본', 'S&', '185', '네이버파이낸셜(주)', '546800', '일시불(A)', '부분취소']… ]