이 코드에서 다음 문장이 조금 어렵게 느껴질 수도 있는데요.
f = open('seoul.csv', 'r', encoding='cp949') data = csv.reader(f, delimiter=',')
이 두 줄을 해석해 보면, 첫 번째 줄은 seoul.csv 파일을 읽기 모드(read)로 읽어오되 cp949라는 형식(Windows 한글 인코딩 방식)으로 읽어오라는 의미입니다. 두 번째 줄은 첫 번째 줄 코드를 통해 읽어온 CSV 파일 데이터를 콤마(,)를 기준으로 분리해서 저장하라는 의미입니다. 여기서 delimiter는 '구분자'라는 뜻입니다.
복잡해 보이지만, 이는 파이썬에서 기본으로 지정한 기본값이므로 생략이 가능합니다. 기본값을 생략하면 다음과 같이 간단히 쓸 수 있습니다.
f = open('seoul.csv') data = csv.reader(f)
훨씬 간단해졌네요. 앞으로 이 책에서는 계속 윈도의 기본 인코딩 방식으로 데이터를 활용할 것이므로 이처럼 기본값을 생략하고 간단하게 표현하겠습니다. 하지만 경우에 따라 다른 인코딩 형식을 지정해야 할 때도 있다는 것을 기억하세요.
잠깐만요
윈도가 아닌 다른 운영체제를 사용할 경우
만약 macOS, 리눅스 등 윈도우가 아닌 다른 운영체제에서 이 책에서 제공하는 예제 데이터를 사용할 경우에는 encoding='cp949' 부분을 반드시 입력해야 합니다. 반대로 다른 운영체제에서 작성된 CSV 파일을 윈도 운영체제에서 다룰 때는 encoding='utf8'이라고 작성해야 한글 문자가 깨지지 않습니다. 여기에서 utf8은 UTF-8을 의미하며, 이는 어느 국가의 문자라도 표현할 수 있도록 만든 유니코드를 표시하는 문자 인코딩 방식 중 하나입니다.